- 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.