【问题标题】:View can't see instance variable defined in ApplicationController, in Rails在 Rails 中,View 看不到 ApplicationController 中定义的实例变量
【发布时间】:2011-02-22 18:01:09
【问题描述】:

大家好!我遇到了一个让我发疯的问题。

我在 ApplicationController 中定义了一个实例变量:

def initialize
    @stylesheets = []
end

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

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

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

那么,我如何让这个实例变量在视图中可见?

提前致谢。

附加信息:

  • 我正在使用 ruby​​ 1.9.2 和 rails 3.0.4
  • 我正在使用命名空间(ApplicationController 没有命名空间)

【问题讨论】:

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


    【解决方案1】:
    class ApplicationController < ActionController::Base
      protect_from_forgery
      before_filter :set_var
    
      private
      def set_var
        @stylesheets = []
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多