2012-01-21 14 views

答えて

2

特にのコントローラ内のアクションの場合は、デコレータを使用します。単にapp/decorators/forem/forums_controller_decorator.rbでこのファイルを置く:

Forem::ForumsController.class_eval do 
    layout "my_special_layout", :only => :show 
end 

あなたが特定のコントローラ内のすべてのアクションのためにそれを望むなら、あなたは初期化子を使用する必要があります。

Rails.application.config.to_prepare do 
    Forem::ForumsController.layout "my_special_layout" 
end 
+0

私が動作するように初期化子を得たが、デコレータは」didnの仕事。あなたが言及したファイルを作成しようとしましたが、何も起こりませんでした。私はドレープの宝石を最初にインストールしようとしましたが、それも何もしませんでした。私は何か他にやるべきことはありますか? –

+0

あなたはファイルをどこかで要求する必要があるかもしれません。[私たちは酒宴のようです](https://github.com/spree/spree/blob/master/auth/lib/spree/auth/engine.rb#L11-21) 。ファイルは自動的にロードされません。 –

+0

複雑に見えます。私はイニシャライザの使用に固執すると思います。ありがとう。 –