【问题标题】:Rails Helpers in View - undefined local variable or method in rails视图中的 Rails Helpers - rails 中未定义的局部变量或方法
【发布时间】:2012-08-13 12:02:18
【问题描述】:

我的 ApplicationHelper

中有这个 Helper
module ApplicationHelper
  def sort_url
    controller_name = params[:controller] 
    url = controller_name + '/sort' 
  end
end

而在 application.js.erb

url: "<%= sort_url %>", 

错误:

undefined local variable or method `sort_url'

【问题讨论】:

标签: ruby-on-rails ruby erb


【解决方案1】:

这是因为 ApplicationHelper 默认只包含在视图中。

javascript 文件不是视图。

如果你真的想在视图中使用助手,你可以使用

<% environment.context_class.instance_eval { include MyHelper } %>

有关相关问题的更多信息,请参阅:Using a Rails helper method within a javascript asset

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多