在 Rails 中,视图看不到 ApplicationController 中定义的实例变量

发布于 2024-10-18 09:27:21 字数 561 浏览 2 评论 0原文

嘿伙计们!我遇到了一个让我抓狂的问题。

我在我的 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 没有命名空间)

Hey guys! I'm getting a problem that is driving me crazy.

I defined an instance variable inside my ApplicationController:

def initialize
    @stylesheets = []
end

When I try to access it from a view, say SomeNamespace::SiteSection (index.html.erb):

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

the instance variable @stylesheets isn't visible, i.e., ruby says it wasn't defined.

So, how I make this instance variable visible inside the views?

Thanks in advance.

Additional info:

  • I'm using ruby 1.9.2 with rails 3.0.4
  • I'm using namespaces (the ApplicationController isn't namespaced)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断念 2024-10-25 09:27:21
class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_var

  private
  def set_var
    @stylesheets = []
  end
end
class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_var

  private
  def set_var
    @stylesheets = []
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文