【问题标题】:Rails 3 : CacheHelper, cached block doesn't render in the production environmentRails 3:CacheHelper,缓存块不会在生产环境中呈现
【发布时间】:2011-06-29 18:09:05
【问题描述】:

我希望有人可以帮助我,因为我正面临有关 Rails 3 的这种奇怪行为。

问题来了:

我开发了一个博客,其中每篇文章都可能有一个或多个标签。 我使用经典方法为每篇文章分配标签,使用第三种模型:标签,它使文章及其标签之间的桥梁使用各自的 id。

然后,在我的文章的索引页面中,我有一个显示所有标签的侧边栏。

到目前为止,在开发环境中一切正常:所有标签都显示出来了。但是...当我在生产环境中启动该站点时,根本没有出现任何标签,但它们确实保存在生产数据库中。

这是我在视图中用来显示标签的代码:

<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>

我也尝试过像

<%= Tag.all %>

而且对于保存在数据库中的每个标签,它似乎都会产生一个奇怪的结果:

#<Tag:some_alpha_numeric_caracters>

有人知道这种奇怪的行为吗?

非常感谢您为我提供的所有帮助:)

问候, M.小米

【问题讨论】:

    标签: ruby-on-rails development-environment production-environment


    【解决方案1】:

    好的,我终于找到了问题所在。我不得不简单地删除:

    <% cache("all_tags") do %>
    

    似乎缓存包含的内容(使用缓存功能)没有在生产中呈现。但我不知道为什么......所以即使我已经解决了我的问题,如果有人能解释我为什么缓存块不会在生产环境中呈现,那就太好了。

    谢谢:)

    最好的问候, 库尔加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 2020-09-07
      • 2020-07-26
      • 2016-11-15
      • 2021-11-10
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多