Rails装置的变化不会传播到关联

时间:2015-08-06 21:29:38

标签: ruby-on-rails ruby testing fixtures

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

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

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

1 个答案:

答案 0 :(得分:3)

致电#reload。当前版本的Rails中没有Identity Map(他们认为它产生了太多错误),因此每当DB记录发生变化时,您应该通过调用#reload手动重新获取所需的所有对象。