2016-11-25 107 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实例变量在整个应用程序的代码,其中包括应用程序布局。