これは私のコードです:
<% cache(author_helper_method) do %>
<div class="author">
<% @authors.each do |author| %>
<% cache(author) do %>
<h2>My name is <%= author.name %></h2>
<% author.articles.each do |art| %>
<p>I wrote: <span style="text-decoration: underline"><%= link_to art.name, articles_show_path(art) %> </span></p>
<% end %>
<% end %>
<% end %>
</div>
<% end %>
問題は、記事と記事のリンクが最初の記事を除いて表示されないことです。名前だけがレンダリングされます。私のページは次のようになります。
これはひどい著者索引ページです。史上最悪の1つ。
私の名前はYasmeen Connです
私が書いた:いくつかのコメンター
私の名前はケレン・マークスです
私の名前はハッティ・ダーガン博士です
私の名前はレタ・グローバー・シニアです。
私の名前はキーリー・クロッコです
私の名前はミケーレ・レインガーです
私の名前はジョス・パリジャンです
ロシア人形のキャッシュから読んだときに名前だけが表示され、最初の記事「コメント者」だけが表示されます。理由はありますか?
参考までに、著者には多くの記事があり、記事は著者に属します。必要に応じて、他のコードを次に示します。
module ApplicationHelper
def author_helper_method
count = Author.count
max_updated_at = Author.maximum(:updated_at).try(:utc).try(:to_s, :number)
"authors/all-#{count}-#{max_updated_at}"
end
end