【发布时间】:2015-08-27 19:04:47
【问题描述】:
我正在尝试为我的数据表建立一些链接,并在过去 4 小时里一直在努力解决它。
这是我当前的代码:
class UsersDatatable < TemplateDatatable
def data
users.map do |user|
[
user.id,
user.nome,
user.email,
user.provider.camelize,
links(user)
]
end
end
def links(user)
html = link_to url_helpers.edit_user_registration_path(user), class: "btn btn-mini btn-info", "data-rel" => "tooltip", title: "Editar", "data-placement" => "top" do
content_tag(:i, '', class: "icon-edit")
end.html_safe
end
end
class TemplateDatatable
include ActionView::Helpers::FormTagHelper
include ActionView::Context
delegate :params, to: :@view
delegate :url_helpers, to: 'Rails.application.routes'
end
这是我不断收到的错误:
ArgumentError (arguments passed to url_for can't be handled. Please require routes or provide your own implementation)
我尝试从我的模型建立链接的每件事都不起作用。我在 github 上遇到了 rails 问题,但什么也没找到。
有什么帮助吗?
编辑:
我也尝试了提出的第一个解决方案,但仍然无法正常工作。我犯了同样的错误。这就是我所做的:
class User < ActiveRecord::Base
include Rails.application.routes.url_helpers
def edit_registration_path
edit_user_registration_path(self)
end
end
def links(user)
html = link_to user.edit_registration_path, class: "btn btn-mini btn-info", "data-rel" => "tooltip", title: "Editar", "data-placement" => "top" do
content_tag(:i, '', class: "icon-edit")
end.html_safe
这不是在模型中添加 url 并调用它的简单事情。这与所说的重复不同。
【问题讨论】:
-
不是。在 Rails 4.1 中,一切正常。 4.2 中发生了一些变化,没有文档,没有帮助,也没有关于这个错误的任何信息。我已经尝试了很多不同的事情和解决方案。我总是得到相同的 url_for 错误。
-
您从 stackoverflow 粘贴的每个解决方案,我都已经尝试过了。我仍然遇到同样的错误。
-
你贴的是一个注释说注释掉UrlHelper的包含。如果您阅读该问题,您会发现我没有将其包含在任何地方。在粘贴随机解决方案之前,请阅读整个问题。
-
你在没有阅读的情况下对一个问题投了反对票,我一直都很有礼貌,并指出你在说它是重复的之前甚至没有阅读这个问题,现在你暗示你有一个答案我敢打赌你没有。如果你完成了,请去打扰别人。我真的很想从懂事的人那里得到帮助。
-
即使在使用更新后的代码后,您是否得到相同的 ArgumentError?
标签: ruby-on-rails ruby-on-rails-4.2