サイドバー、フッターの変数をまとめる 〜Ruby on Rails4〜
サイドバー、フッターに表示するものってどのページもほぼ同じ。
で、表示するものの変数を毎回コントローラのアクションごとに記載するのがめんどくさい。
1箇所を追加・編集すると、他のすべてのアクションごとに修正しないといけない。これは苦痛。
どのやり方がいいのかはわかりませんが、【application_controller】に記載する方法がわかりやすかったので、覚え書きしておきます。
application_controllerにアクションを定義する
サイドバーに使う変数をアクションとして定義します。
※app/controller/application_controller.rb
def sidebar
@info_all = Info.all
end
before_filterで使用アクションを指定する
これを同ファイル内でbefore_filterで使う。
before_filter :sidebar
これをapplication_controllerに書いておくだけで、すべてのページに反映される。便利だな!
フッターも同様にフッターアクションを作って、そのアクション内に変数を定義し、before_filterで指定すると反映されます。
それ以外のやり方を知っている方がいたら教えてほしいです!!