作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Ruby on Rails v3.2.2,我想仅在某些情况下通过禁用系统缓存来检索数据库数据。也就是说,在我的 View 文件中,我有如下内容:
<h1>Random articles 1</h1>
<%= Article.order('RAND()').limit(3).inspect %>
...
<h1>Random articles 2</h1>
<%= Article.order('RAND()').limit(3).inspect %>
渲染 View 文件时,它会为“Random articles 1”和“Random articles 2”输出相同的数据。发生这种情况是因为 Ruby on Rails 缓存系统(“默认”/“约定”)出于性能原因尝试尽可能少地访问数据库。
我怎样才能防止这种行为(仅针对上述情况)以便在我的 View 文件中为 finder 方法输出不同的数据?
最佳答案
有uncached
ActiveRecord 中的方法。看起来你可以像这样使用它:
articles = Article.uncached do
Article.order('RAND()').limit(3)
end
但您最好将其提取到模型的类方法中。
参见 this article了解更多信息
关于ruby-on-rails - 如何通过仅针对一种情况禁用Ruby on Rails 缓存系统来检索数据库数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153853/
我是一名优秀的程序员,十分优秀!