2016-11-25 12 views
0

ここに私の必要性があります:フォーラムアプリケーションのテーブルカテゴリがあります。 app/views/layouts/application.html.erbで使用できる変数が必要です。すべてのカテゴリのすべてのページで、ナビゲーションバーにドロップダウンを作成できます。Railsグローバル変数

私は可能な限りこれを見ただけの方法ですが、私がRailsを初めて使ったときには、それが最高だとは思わないので、$categories = Category.allを作成しています。しかし、私が言ったように、それは危険に見えます。

私の問題を解決するにはどうすればよいでしょうか?

答えて

1

app/views/layouts/application.html.erbにデータを取得する必要がありますか?

ちょうどそのためのコントローラがあります!

ApplicationControllerと呼ばれています。あなたのApplicationController

は、次の手順を実行します。

class ApplicationController < ActionController::Base 
    before_action :set_categories 

    # stuff.. 

    private 

    def set_categories 
    @categories = Category.all 
    end 
end 

今、あなたは、アプリケーションのレイアウトを含め、アプリケーションのコード全体@categoriesインスタンス変数にアクセスすることができます。