【发布时间】:2011-11-02 01:15:44
【问题描述】:
我有几个变量希望所有控制器都可以访问。所以我在 application_controller.rb 中定义了它们:
before_filter :initialize_vars
def initialize_vars
@siteTitle = "my title"
@companyName = "company"
end
那里没有问题。 我想对徽标做类似的事情,所以我创建了另一个使用 before_filter 调用的方法。
def logo
image_tag("Logo.jpg", :alt => "Logo")
end
徽标 img 的一个实例应链接到站点根目录,因此我将其命名为:
<%=h link_to logo, root_path %>
但它在我的布局中不起作用!当我将我的 logo 方法添加到 application_helper.rb 时,一切正常。嗯嗯。
什么/哪里是所有这些东西的合适位置?我的意思是仅仅因为我能够使它工作并不能使它正确!
我是否应该像我所做的那样在 application_controller 中定义我的实例变量(我将其视为全局变量)和我的助手中的 logo 方法?我觉得我在这里缺少一些基本的理解,为什么他们需要去不同的地方。我不确定这是我如何调用“徽标”方法或我将它放在哪里。我将尝试如何调用以及如何编写 logo 方法,因为我觉得这两种方法都应该放在 application_controller 中。
想法?
谢谢!
【问题讨论】:
标签: ruby-on-rails methods controller helper