2016-11-25 168 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實例變量在整個應用程序的代碼,其中包括應用程序佈局。