在我的导航栏中,我有一个变量@categories = Category.all
。导航中有一个下拉列表,列出了类别。
我想知道我把它放在哪里,因为它是布局的变量,而不是页面的变量。我想过把它放在控制器里,但那不起作用。
这是应用程序助手吗?
由于您需要在布局中的navbar
中显示它,我假设您在整个应用程序中都需要它,那么您所要做的就是:
class ApplicationController < ActionController::Base
before_action :set_categories ## Set a before_action
## ...
def set_categories
@categories = Category.all
end
end
这样,由于您在ApplicationController
级别定义了before_action
,因此应用程序中的每个操作都将执行set_categories
方法。