Rails 3 - 所有控制器都可用的变量

时间:2011-08-25 11:16:18

标签: ruby-on-rails-3 controller

我需要一个变量,它将在所有控制器中可用。例如,我尝试过类似的东西:

class ApplicationController < ActionController::Base
  @test = 'test string'
  ...
end

如果我试图在application.html.erb中显示 @test 的内容,那么我得到的是空结果。

一种可能性是将字符串存储到session,但这样我只想使用最新的可能性......

所以我想问你 - 在Rails中存在任何优雅的方式,怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用before_filter设置变量:

class ApplicationController < ActionController::Base
  before_filter :set_test

  def set_test
    @test = 'test string'
  end
end

有了这个,可以在application.html.erb中使用@test