我在ApplicationController中创建了一个帮助方法,允许访问所有页面上的最新帖子。
有什么方法可以缓存这个以阻止我的应用程序经常访问数据库?
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :recent_posts
def recent_posts
@recent_posts = Post.published.recent
end
end
我已经尝试过cache_action:recent_posts但是,通过查看日志,应用程序仍然会出现在数据库中。
答案 0 :(得分:0)
听起来你正在寻找fragment caching。
尝试将其置于局部并执行以下操作:
<% cache do %>
<% Posts.published.recent.each do |p| %>
<%= link_to p.name, post_url(p) %>
<% end %>
<% end %>