ルート.rbで指定されているように、指定されたレイアウトテンプレートを特定のコントローラーとその中にネストされているすべてのリソースに自動的に割り当てることは可能ですか?このレイアウトは、指定されたコントローラービューとその中にネストされたビューのみを適用する必要があります。application.html.erbのように、アプリケーション内のすべてのビューに適用する必要はありません(実際には、ネストされたレイアウトのアプリケーションレイアウトで特殊なレイアウトを使用しています)。
だから、例えば、私が持っていた場合
map.resources :news, :shallow => true do |n|
n.resources :articles do |a|
a.resources :comments
end
end
のようなURLにアクセスすると、レイアウトが実際に動作しているlocalhost/news/1/articles/new
ことがわかります。news.html.erb
今のところ、私はしません。
親内にネストされたコントローラーごとに同じレイアウトファイルを再作成したくないことは明らかです(レイアウトを引き出して共有パーシャルに配置する場合でも)。特定のコントローラー自体でレイアウトテンプレートを指定することについては、さらにわくわくしません(この特定の例は一時的なものですが、これについては少し先に「実際の」ユースケースがあります)。
ありがとう!