标签:
1. 性能优化的重要性
减轻服务器压力(量化起来就是执行时间)
增加使用者的好感(快!)
2. ActiveRecord:表关联
ActiveRecord可以用Associations来定义表之间的关联性。到目前为止我们学会了用ActiveRecord来操作数据库,但是还沒充分发挥关联式数据库的特性,那就是透过primary key和foreign keys将表互相关联起来
Primary Key这个字段在Rails中,照惯例叫做id,类型是整数且递增。而Foreign Key字段照惯例会叫做{model_name}_id,类型是整数
3. 关系Associations
belongs_to,has_one,has_many 参数 Class_name, foreign_key,conditions,order, dependent
Dependent 可以设定当对象刪除时,也会顺便删除它的has_many对象 :destroy 会执行attendee的destroy回呼 :delete 不会执行attendee的destroy回呼 :nullify 这是默认值,不会帮忙删除attendee
多对多,trough,如has_many :firms, :through => :firm_brands
4. 聊聊include
透过joins抓出來的event对象是沒有包括其关联对象的。如果需要其关联对象的记录,会使用includes。
includes可以预先将关联记录的也读取出來,避免N+1问题
没有关系就没有include 所以要多用belongs_to,has_one,has_mang
5. 习惯
能用单引号的时候不要用双引号
写法尽量简单 如find(:all)
不必要的return,不必要的赋值
方法(特别是实例方法)中尽量减少查询,多用关系,在include中就可以很好的避免N+1
标签:
原文地址:http://www.cnblogs.com/liupl/p/4495857.html