Rails 固定装置中的更改不会传播到关联

Changes in Rails fixtures are not propagated through to associations

在 Rails 4.2.1 中,我有一个 Book 模型。我还有 BookAcl 模型 belongs_toBook。在我的测试中,我通过 tests/fixtures 中定义的固定装置加载两者。在我的测试中,在 setup 中,我根据夹具数据实例化了两个对象。到目前为止,一切正常。

在我的测试中,我修改了 BookAcl 对象,并希望在通过 Book 对象访问同一个 BookAcl 时反映这些更改。然而,这并没有发生。事实上,当我(通过 Pry)查看 BookAcl 对象时,属性与 Book.BookAcl 对象不同,即使对象的其余部分相同。

我做错了什么?我如何强制这些更改通过对象图传播?

致电#reload。当前版本的 Rails 中没有 Identity Map(他们认为它产生了太多错误),因此您应该在数据库记录更改时通过调用 #reload 手动重新获取所有您想要的对象。