Rails全局变量

时间:2016-11-25 17:31:00

标签: ruby-on-rails

这是我的需要:我有一个论坛应用程序的表类别。我需要一个可以在$categories = Category.all中使用的变量,因此我可以在导航栏中创建一个包含所有页面中所有类别的下拉列表。

只有一种方式我认为这是可能的,但由于我是Rails的新手,我不认为这是最好的,就是创建一个private readonly List<string> list = new List<string>(); lock(list) { // ... } 。但正如我所说,它看起来很危险。

解决问题的最佳方法是什么?

1 个答案:

答案 0 :(得分: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实例变量,包括应用程序布局。