content_for在开发中起作用,但在生产中不起作用?

content_for在开发中起作用,但在生产中不起作用?

问题描述:

我有一个使用caches_action的控制器

I have a controller using caches_action

controllers / bar_controller.rb:

caches_action :bar, :layout => false

,鉴于此操作,我将在布局中设置html标题。

and in the view of this action, I'ill setting html title in layout.

views / foo / bar.html.erb:

<%= content_for :mytitle do "testing" end %>

这是我的布局文件:

views / layouts / application.html.erb:

<title><%= yield :mytitle %></title>

但是,这仅在开发中有效。在生产中,它不起作用。任何想法表示赞赏。

However, this only work in development. In production, it does not work. Any idea is appreciated. thanks.

类似的问题:

similar question: Is there a workaround for ignored content_for blocks with caches_action and :layout => false?

在启用缓存的环境中,Rails只会忽略content_for块。使用 ActionController :: Filters 计算值并将这些值存储在实例变量中。在布局中引用实例变量。

Rails will simply ignore the content_for block in caching enabled environment. Use ActionController::Filters to compute the values and store those values in instance variables. Refer instance variables in layouts.