视图中的 Rails Helpers - Rails 中未定义的局部变量或方法



我的应用程序助手中有这个助手

module ApplicationHelper
  def sort_url
    controller_name = params[:controller] 
    url = controller_name + '/sort' 
  end
end

应用中.js.erb

url: "<%= sort_url %>", 

错误:

undefined local variable or method `sort_url'

这是因为默认情况下,ApplicationHelper 仅包含在视图中。

javascript 文件不是视图。

如果确实要在视图中使用帮助程序,可以使用

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

有关相关问题的更多信息,请参阅:在 JavaScript 资产中使用 Rails 帮助程序方法

最新更新