delete destroy

  • delete() 和destroy() 这两组类方法有什么区别呢? delete() 方法绕过了ActiveRecord 的回调和验证,而destroy()方法则可以确保调用这些功能。一般而言,最好是使用destroy()方法,因为这样可以确保进行模型类中定义的业务规则检查,以保证数据库的完整性。

 

 

 

has_many   has_one   belongs_to都有设置dependent属性

 

has_many的文档里写的dependent是设置为:destroy将调用关联对象destroy方法,如果设置为:delete_all将调用class.delete_all而不调用destroy方法,:nullify就是直接将外键设为null.

 

has_one的文档里写的dependent是设置为:destroy将调用关联对象destroy方法,如果设置为:delete将调用class.delete而不调用destroy方法,:nullify就是直接将外键设为null.

 

 

posted @ 2012-12-04 17:09  进化论  阅读(244)  评论(0)    收藏  举报