2009-04-30 3 views
1

レールアプリケーション全体のマスターテンプレートを定義する簡単な方法はありますか?そうでない場合は、同じテンプレートを複数のレイアウトファイルにコピーして貼り付けないように、テンプレートを再利用する最良の方法は何ですか?DRY Railsマスターテンプレート?

答えて

8

application.html.erbという名前を付けることができます。また、Railsはアプリ全体に使用します。 詳細情報はrails guidesです。

0

/app/views/layouts/whatever.rhtml(またはあなたが仕事を好む方延長):

<html> 
... 
    <%= yield %> 
... 
</html> 

/app/controllers/ApplicationController.rb:

layout "whatever" 

(編集:レイアウトを呼び出すかどうか私の頭の上の覚えていないレイアウトをapplication.rhtml(または何でも)自動的にそれが仕様を欠いているコントローラのデフォルトのレイアウトにするか、またはこの魔法のビットが足場を生成するときにデフォルトのApplicationControllerに組み込まれる、上記を使用して構文)

1

ビューのレイアウトフォルダにapplication.html.erbファイルを作成します。コントローラにテンプレートがない場合は呼び出されますので、テンプレートを削除する必要があります。

あなたはまた、

class FaqentriesController < ApplicationController 
    layout "admin" 
[..] 
を行く特定のコントローラ用のテンプレートを定義することができます