0

caches_action を使用するコントローラーがあります

controllers/bar_controller.rb:

caches_action :bar, :layout => false

このアクションのビューでは、HTML タイトルをレイアウトに設定します。

views/foo/bar.html.erb:

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

これは私のレイアウトファイルです:

views/layouts/application.html.erb:

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

ただし、これは開発中のみ機能します。本番環境では機能しません。どんなアイデアでも大歓迎です。ありがとう。

同様の質問: caches_action と :layout => false で無視された content_for ブロックの回避策はありますか?

4

1 に答える 1

1

Rails は、キャッシュが有効な環境で content_for ブロックを単純に無視します。ActionController::Filters値を計算し、それらの値をインスタンス変数に格納するために使用します。レイアウトでインスタンス変数を参照します。

于 2016-10-15T10:58:58.247 に答える