2011-08-14 15 views
0

私のレールアプリでは、ライトボックス内の特定のページをレンダリングしたいのですが、メインナビゲーション(ヘッダー/フッターなど)はすべて私のapplication.html.erbレイアウトに含まれています。私は1トンのページを持っており、それらのページの大半はナビゲーションを使用しています。 application.html.erbからナビゲーションを削除した場合、ヘッダーとフッターのコードをほぼすべてのビューファイルに複製して、4-5を保存する必要があります。特定のビューで異なるレイアウトを使用するように指定するにはどうしたらいいですか?レイアウトファイルはどこに置くのですか。どのようにそれらのファイルに名前を付ける必要がありますか?Rails複数のビューを1つのビューで作成

参考までに、この質問は近いですが、私の質問にはあまり答えません。 Rails layouts per action?

これらのレイアウトを保存する必要がある場所と名前の付け方を具体的に知りたいと思います。

答えて

1

layouts/application.html.erbの中にナビゲーションを置くと、レンダリングするデフォルトのレイアウトになります。ライトボックスのコードをlayouts/lightbox.html.erbに、ライトボックスのページには、それぞれのアクションに

render :layout => 'lightbox' 

を追加します。

関連する問題