1

すべてのページの最新の投稿にアクセスできるヘルパー メソッドを 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 を試しましたが、ログを見ると、アプリケーションがまだデータベースにアクセスしているように見えます。

4

1 に答える 1

0

フラグメントキャッシングを探しているようです。

それを部分的に入れて、次のようなことをしてみてください:

<% cache do %>
  <% Posts.published.recent.each do |p| %>
    <%= link_to p.name, post_url(p) %>
  <% end %>
<% end %>
于 2012-05-06T16:59:44.300 に答える