The Ruby On Rials Gudie -- Active Record基本

所谓Active Record就是指MVC模型中的M, 即model。它的主要功能:

  • 表示模型和他的数据
  • 表示模型间的关系
  • 表示模型间的继承关系
  • 在模型与数据库同步前检验模型
  • 面向对象的方式操作数据库

命名规则变化:
rails 将你的model名字复数化,这就是你数据库中表的名字啦。假如你的model名为Book,那么表的名字就是books了,它的复数化不仅仅是加个s那么简单,它会真的像英语里面的复数一样的。
Model / Class Table / Schema
Post posts
LineItem line_items
Deer deer
Mouse mice
Person people
在表中的外键一般是某某_id,而主键叫做id,外键一般用于模型间的绑定

创建一个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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值