私は私のコントローラに@sort_by
属性を追加し、それがこのような値だ初期化:Rails:デフォルトのアプリケーションレイアウトが使用されないのはなぜですか?
class ProductsController < ApplicationController
def initialize
@sort_by = :shop_brand
end
...
end
これは使用されないデフォルトのアプリケーションのレイアウトを引き起こしました。
なぜですか?
コントローラに属性を追加して初期化する正しい方法は何ですか?
'sort_by'が決して変更されない場合、クラスの基底で定数' SortBy'としてうまくいくでしょう:) – Matchu
'sort_by'は変更される可能性がありますので、定数にすることはできません。さらに、あなたのコードでは '@ sort_by'が各アクションの前に設定されますが、デフォルト値(':shop_brand')を一度しか設定しません! 'index'メソッドが呼び出されるたびにデフォルト値を設定したくありません! –
さて、私は '@sort_by || =:shop_brand'をやることができると思いますが、たびに' set_defaults'を呼び出さないもっと良い方法があるのだろうか? –