在关联对象上调用destroy后,has_one关联不返回nil

时间:2016-12-20 19:23:34

标签: ruby activerecord

天真地,如果我的模型Foo

has_one associated_object

我希望

some_foo.associated_object.destroy
some_foo.associated_object

返回nil。但是,它仍然返回关联的对象(设置了destroyed标志)。

在数据库中,associated_object表行已被删除,因此如果我为同一记录加载第二个Foo模型对象,我会得到nil我正在寻找:

Foo.find(some_foo.id).associated_object
# => nil

有没有办法可以声明ActiveRecord has_one关系,这样我就可以获得内存nil模型的Foo,而无需检查destroyed关联对象上的标志?

ETA:如果不清楚,我不是要找额外的来调用,后调用{ {1}}。我正在寻找如何使destroy关系表现得像has_one一样方便透明:

has_many

0 个答案:

没有答案