![]() |
1
1
对。根据编写测试的方式,Rails查询缓存有时可能会干扰。有时,Rails足够智能,可以跟踪何时需要清除缓存(当对象之间存在明显的关联时),但下面是一个不按预期工作的示例:
通常,如果在同一测试中两次执行同一查询,则应调用。在尝试执行第二个查询之前,请重新加载数据。就像这样:
根据我的个人经验,最好考虑用不同的方式编写测试,而不是使用上述方法。例如,这里有一种更好的方法来编写上述内容,它不会受到查询缓存的影响:
|
![]() |
2
0
我从来没有遇到过ActiveRecord的问题。我的理解是缓存只在读取时进行,所以总是执行保存。 |