Rails助手在视图中 - 未定义的局部变量或rails中的方法

时间:2012-08-17 02:20:14

标签: ruby-on-rails ruby erb

我在 ApplicationHelper

中有这个助手
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'

1 个答案:

答案 0 :(得分:1)

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

javascript文件不是视图。

如果您真的想在视图中使用帮助器,可以使用

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

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