Rails 3 でテンプレートの継承を使用しようとしています。application_controller.rb に次のコードがあります。
layout :set_layout
def set_layout
layout_name = Club.find(1).layout.name
prepend_view_path("views/#{layout_name}")
layout_name
end
これにより、特定のクラブ (この場合は「layout1」と呼ばれる) に関連付けられたレイアウトが正しく設定されますが、次のフォルダー構造を作成してビューを上書きしようとすると:
app
-views
--home
---indes.html.erb
--layout1
---home
----index.html.erb
views/layout1/home/ index.html.erbの代わりにviews /home/index.htmlをキャッチします。
次のようにビューパスを印刷すると:
<% controller.view_paths.paths.each do |t| %>
<%= t %><br>
<% end %>
正しいビュー/レイアウト1 を最初のものとして出力しますが、それでも正しいindex.html.erbファイルの内容が見つかりません。
私のlayoutsフォルダーにあるlayout1.html.erbでは、yieldとだけ言っています。
どういうわけか概念を誤解しましたか?