Rails 3 : CacheHelper, cached block doesn't render in the production environment
I hope that someone may help me because I'm facing such a strange behavior concerning Rails 3.
Here's the problem :
I've developed a blog in which each article may have one or more tags. I used a classic method to assign tags to each article, using a third model: taggings which makes the bridge between an Article and its tags usign their respective ids.
Then, in the index page of my articles, I have a sidebar showing all the tags.
So far everything works well in the Development environment: all the tags show up. But... When I launch the site in a production environment, no tags appear at all but they do are saved in the production database.
Here's the code I use within my view to show up the tags:
<ul id="tags">
<% cache("all_tags") do %>
<% for tag in Tag.find(:all, :order => "name") %>
<li><%= link_to "#{tag.name}", tag_path(tag) %></li>
<% end %>
<% end %>
</ul>
Also I've tried to just put something like
<%= Tag.all %>
开发者_运维知识库And it seems to produce a strange result for each tag saved in the database:
#<Tag:some_alpha_numeric_caracters>
Does anyone have an idea about this strange behavior?
Thanks a lot for all your help you may bring to me :)
Regards, M. Millet
Ok so I finally found the problem. I had to simply delete:
<% cache("all_tags") do %>
It seems that what the cache contains (usign the cache function) is not rendered in production. But I don't know why.. So even if I've resolved my problem it would be great if anyone can explain me why the cache block doesn't render in a production environment.
Thanks :)
Best regards, Kulgar.
精彩评论