Rails 3.2 アプリで content_for をテストし、Rails ガイドに従っていますが、それらは実際のファイルに固有のものであり、yield が機能していないようです:
application.html.erb ファイル:
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<%= yield :navigation %> #shouldn't this load the content_for block named :navigation specified in the _main_nav.html.erb partial?
<%= yield %> #this load the index page content
</body>
</html>
レイアウト ファイル _main_nav.html.erb を作成しました ( <%= render 'layouts/header' %> でレンダリングできることはわかっていますが、代わりに content_for を使用しようとしています) _main_nav.html.erb は次のとおりです。
<% content_for :navigation do %>
<ul>
<li>Home</li>
</ul>
<% end %>
RailsGuide http://guides.rubyonrails.org/layouts_and_rendering.html#using-the-content-for-methodを読むと、 これはうまくいくはずです。しかし、そうではありません。エラーは発生しません。単純なようですが、私は困惑しています。
index.html.erb ファイルに移動すると、次の結果が表示されると予想されます。
- 家