2

Rails 2.3.8 アプリケーションを使用しています。含むレイアウトファイルがあります
<%= yield :head %>

アプリケーションのさまざまな部分で次のコードを呼び出しました。
<% content_for :head do %>
<meta name="keywords" content="" />
<% end %>

home私はそれが働いたビューファイルにそのコードを追加しようとしました。そこから呼び出される patial から呼び出したところ_abc、その部分にコードをhome追加することで期待どおりに動作しました。しかし、タグから呼び出されるパーシャル内のコードを追加すると、表示されませんでした!!!metahead_def_abchomemeta

私は何が起こっているのか理解できませんでした...そしてどうすればこの問題を回避できますか

更新:うまくいかなかったケースは次のとおりです。

home.html.erb:
<%= render :partial=>"_abc"%>

_abc.html.erb:
<%= render :partial=>"_def"%>

_def.html.erb:
<% content_for :head do %>
<meta name="keywords" content="" />
<% end %>

どうもありがとう

4

1 に答える 1

2

これは古い質問ですが、同様の問題でここに来ました。他の誰かがここに着陸した場合に備えて、私の問題/解決策を投稿すると考えました。

<%= yield :head %> はどのファイルにありますか? 私はこの問題を抱えていて、収量が「/layouts/application.html.erb」ファイルにあることが判明しました...しかし、呼び出されたビューは別のレイアウトファイル、つまり「/layouts/listings.html.erb」を使用していました。収量を正しいファイルに移動すると、すべてが正常に機能し、説明した設定とほぼ同じになりました。

于 2013-04-16T14:52:39.460 に答える