在 Rails 4.2.1 中,我有一个 Book
模型。我还有 BookAcl
belongs_to
到 Book
的模型。在我的测试中,我通过 tests/fixtures
中定义的 fixture 加载了这两个。在我的测试中,在 setup
中,我根据 fixture 数据实例化了两个对象。到目前为止,一切正常。
在我的测试中,我修改了 BookAcl 对象,并希望在通过 Book 对象访问同一个 BookAcl 时反射(reflect)这些更改。然而,这并没有发生。事实上,当我(通过 Pry)查看 BookAcl 对象时,其属性与 Book.BookAcl 对象不同,即使该对象的其余部分相同。
我做错了什么?我如何强制这些更改通过对象图传播?
最佳答案
调用#reload
。没有 Identity Map在当前版本的 Rails 中(他们认为它产生了太多错误),因此您应该在数据库记录发生更改时通过调用 #reload
手动重新获取您想要的所有对象。
关于ruby-on-rails - Rails fixture 中的更改不会传播到关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31866118/