【问题标题】:How should view helper methods from /lib be accessed?应该如何访问 /lib 中的查看辅助方法?
【发布时间】:2015-05-19 04:29:36
【问题描述】:

我在 [app]/lib 下的 Modules 中封装了一些方法,lib 文件夹已添加到 config.autoload_paths,我还将 Include MyHelper 添加到 ApplicationController 类中。

错误(在视图中)是:

undefined local variable or method 

我正在使用 lib 目录,因为这些方法不是特定于应用程序的。

呃,有一条关于“更多”代码的注释。

lib/my_helper.rb

module MyHelper
   def my_tag
       "<div>hello</div>"
   end
end

config/application.rb

... 
config.autoload_paths << "#{Rails.root}/lib"
...

app/controllers/application_controller.rb

class ApplicationController < ActionController::Base
    include MyHelper
    ...
end

app/views/layouts/application.html.erb

...
<%= my_tag %>
...

【问题讨论】:

  • 请发布更多代码。
  • 为什么不直接把你的助手模块放到 app/helpers floder 中呢?
  • 简单地说......这是一个通用方法。它不应该在 app/helpers 文件夹中。

标签: ruby-on-rails


【解决方案1】:

应该使用helper MyHelper 而不是include MyHelper。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2013-12-15
    相关资源
    最近更新 更多