読者です 読者をやめる 読者になる 読者になる

グロースエンジニアのブログ

プログラミングとウェブ解析をやっています。Googleアナリティクス好きなRuby on Rails エンジニアです!

サイドバー、フッターの変数をまとめる 〜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で指定すると反映されます。

それ以外のやり方を知っている方がいたら教えてほしいです!!