The Ruby On Rials Gudie -- Active Record基本
2013-10-26 21:51
537 查看
所谓Active Record就是指MVC模型中的M, 即model。它的主要功能:
表示模型和他的数据
表示模型间的关系
表示模型间的继承关系
在模型与数据库同步前检验模型
面向对象的方式操作数据库
命名规则变化:
rails 将你的model名字复数化,这就是你数据库中表的名字啦。假如你的model名为Book,那么表的名字就是books了,它的复数化不仅仅是加个s那么简单,它会真的像英语里面的复数一样的。
在表中的外键一般是某某_id,而主键叫做id,外键一般用于模型间的绑定
创建一个Active Record ,很简单,只要你是ActiveRecord::Base的子类即可
CRUD(这只是Create,Read,Update,Delete的简称)下面我们一个一个的讲
Create:
这里首先要搞清楚的是,create相当与执行了new 和 save,假如用new,要记得save
一个一个解释,user是我们的创建的模型名字,而User是我们model 类的名字(rails 命名是很有讲究的,这个可以google下,很有意思,其实也很很简单,你就按照人类的思想来想命名就ok了),而name,occupation是User这个model中的数据名字(也就是列,id这个primary key是自动的,不用管)。也可以先User.new 然后再一个个的指定。
Read:
这里面有很多很多API
1. User.all, 返回所有的记录
2. User.first,返回第一条记录
3. User.find_by_name("David"),返回name列为David的第一条记录,这里的name是列名,也就是model中的数据名,是可以被替换的
3. User.where
Update
有三种办法
1. 先找到,比如user = User.find_by_name("David"), user.name = "da", user.save这样就ok了
2. 先找到,比如user = User.find_by_name("David"),
Delete
先找到,比如user = User.find_by_name("David"),然后user.destroy,ok
表示模型和他的数据
表示模型间的关系
表示模型间的继承关系
在模型与数据库同步前检验模型
面向对象的方式操作数据库
命名规则变化:
rails 将你的model名字复数化,这就是你数据库中表的名字啦。假如你的model名为Book,那么表的名字就是books了,它的复数化不仅仅是加个s那么简单,它会真的像英语里面的复数一样的。
Model / Class | Table / Schema |
---|---|
Post | posts |
LineItem | line_items |
Deer | deer |
Mouse | mice |
Person | people |
创建一个Active Record ,很简单,只要你是ActiveRecord::Base的子类即可
CRUD(这只是Create,Read,Update,Delete的简称)下面我们一个一个的讲
Create:
这里首先要搞清楚的是,create相当与执行了new 和 save,假如用new,要记得save
user = User.create(name:
"David"
, occupation:
"Code Artist"
)
一个一个解释,user是我们的创建的模型名字,而User是我们model 类的名字(rails 命名是很有讲究的,这个可以google下,很有意思,其实也很很简单,你就按照人类的思想来想命名就ok了),而name,occupation是User这个model中的数据名字(也就是列,id这个primary key是自动的,不用管)。也可以先User.new 然后再一个个的指定。
Read:
这里面有很多很多API
1. User.all, 返回所有的记录
2. User.first,返回第一条记录
3. User.find_by_name("David"),返回name列为David的第一条记录,这里的name是列名,也就是model中的数据名,是可以被替换的
3. User.where
(name:
'David'
, occupation:
'Code Artist'
).order(
'created_at DESC'
),find all users named David who are Code Artists and sort by created_at in reverse chronological order
Update
有三种办法
1. 先找到,比如user = User.find_by_name("David"), user.name = "da", user.save这样就ok了
2. 先找到,比如user = User.find_by_name("David"),
user.update(name:
'Dave'
)这样也ok
3.上面的那些只是修改一个记录,假如你想修改所有的符合要求的数据,你用update_all比较好
Delete
先找到,比如user = User.find_by_name("David"),然后user.destroy,ok
相关文章推荐
- The Ruby On Rials Gudie -- Active Record Validations
- The Ruby On Rials Gudie -- Active Record Callbacks
- The Ruby On Rials Gudie -- Active Record Associations
- The Ruby On Rials Gudie - say hello to rails
- The Ruby On Rials Gudie - 文件夹
- The Ruby On Rials Gudie -- Active Record Query Interface
- The Ruby On Rials Gudie -- Active Record Migrations
- 基本语言细节--《深度探索C++对象模型》--(7)On the Cusp of the Object Model-总结点
- ruby on rails mac 基本配置
- Ruby On Rails——创建一个基本的ROR应用程序
- Ruby on Rails实现最基本的用户注册和登录功能的教程
- Ruby on Rails 入门之:(5) Ruby中基本数据类型
- Ruby sitting on the CouchDB
- 9. 13. 6. Stack基本用法 To find out if an element is on the stack: the search() method
- Ruby On Rails基本概念说明
- Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)
- Ruby on Rails入门笔记(1)ruby基本语法概念
- Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)
- 我的RUBY之路--第三/四天 ruby on rails first blog / study ruby 基本语法 / Vim 基础快捷键
- Ruby on Rails开发Web应用的基本概念