View无法在Rails中看到ApplicationController中定义的实例变量

时间:2011-02-22 18:01:09

标签: ruby ruby-on-rails-3 namespaces instance-variables

嘿伙计们!我遇到的问题让我发疯了。

我在ApplicationController

中定义了一个实例变量
def initialize
    @stylesheets = []
end

当我尝试从视图中访问它时,请说SomeNamespace :: SiteSection(index.html.erb):

<% @stylesheets << "some-stylesheet" %>
<h1>Blablabla</h1>

实例变量@stylesheets不可见,即ruby说它没有定义。

那么,我如何在视图中看到这个实例变量?

提前致谢。

其他信息:

  • 我正在使用带有rails 3.0.4的ruby 1.9.2
  • 我正在使用命名空间(ApplicationController未命名空间)

1 个答案:

答案 0 :(得分:9)

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_var

  private
  def set_var
    @stylesheets = []
  end
end