首页 > 解决方案 > ActiveRecord - 销毁不更新父对象

问题描述

得到以下有一个关系

class x
 has_one y
end

class y
 belongs_to x
end

x.create_y
x.y.present? #true

x.y.destroy
x.y.present? #true
x.reload.y.present? #false

我知道,在销毁父对象之后仍然引用了一个已删除的对象,这是预期的行为,但是,有没有办法在单行中销毁关系并更新父对象?或者我必须调用重新加载?

标签: ruby-on-railsactiverecord

解决方案


尝试使用has_one y, dependent: :destroy

请参考: http: //guides.rubyonrails.org/association_basics.html#options-for-belongs-to-dependent


推荐阅读