ApplicationRecord
在Rails4中所有的模型都继承自ActiveRecord::Base,不过在Rails5中新引进了一个叫ApplicationRecord的类,存放在:app/models/application_record.rb中,所有Rails5应用都会有这个类, 它的内容非常简单:
就是一个继承ActiveRecord::Base的抽象类,作用就是为整个应用程序模型提供一个自己的基类
OR语法支持
Rails5中提供了对两个AR Relation对象的OR方法:
需要注意的是如果你在第一个Relation中是用了:limit distinct offset这三个方法的话,那么就必须在后面的Relation中也使用相同的方法,否则的话就会报错
最好是在结尾使用:
ActiveRecord::Relation#cache_key
Rails中使用缓存是很常见的行为,通常我们要缓存一组查询出来的记录,需要手动的设置缓存的key
Rails5中提供了ActiveRecord::Relation#cache_key
上面最后一行,Rails5提供的cache_key和我们自己设置的很相似,分别有5个组成部分分别是:
AR Relation调用update会触发callbacks和validates
也就是亦可以通过下面的方法更新记录:
更新操作被按ID分解成多个update语句,并且其中每一个都会执行callback和validates, 要注意的是如果你要更新的记录不必要触发callback或validates,那么因为性能原因最好使用 update_all方法。
更新记录时,不更新updated_at/updated_on
忽略字段
Belongs_to关联,默认必填
新的 after_{create,update,delete}_commit
支持在migration中添加comments
参考链接:
http://www.jianshu.com/p/05719f9082fc
标签:ActiveRecord,update,特性,Rails5,AR,Relation,key From: https://www.cnblogs.com/hello-ruby/p/18061295