我正在运行Rails 2.0.2并且无法使用:dependent => :在我的AR协会中删除
has_many :items, :dependent => :delete
我收到了这个错误。
The :dependent option expects either :destroy, :delete_all, or :nullify (:delete)
我无法找到以下文档:delete_all以查看它是否符合我的要求。它与删除基本相同吗?是:删除最近添加到Rails并且不在我正在使用的版本中?
答案 0 :(得分:7)
这是relevant documentation for Rails 2.0.2:
如果设置为:destroy将销毁所有关联的对象 通过呼叫他们的这个对象 破坏方法。如果设置为:delete_all 删除所有关联的对象 没有调用他们的破坏方法。 如果设置为:nullify all associated 对象的外键设置为NULL 没有调用他们的保存回调。
railsbrain.com是查找特定版本的Rails特定文档的好地方。
答案 1 :(得分:2)
默认操作是“什么都不做”。对象仍然是孤立的,没有任何东西被删除,破坏或无效。
答案 2 :(得分:0)
在当前稳定版本2.3.2的文档中没有提及:删除:
如果对象与以下相关联,则会另外销毁:dependent => :destroy,如果它们与以下内容相关联,则删除:dependent => :删除所有。
http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many