我需要在 DataTables 报告中包含内部链接。因此我必须从 Model#as_json 返回报告数据,例如:
class Error < ActiveRecord::Base
include ActionView::Helpers::UrlHelper # provides link_to
include ActionController::UrlWriter # provides *_path
def as_json(options={})
{
:date => self.created_at,
:level => self.level,
:ip => self.ip,
:title => truncate(self.title, :length => 100),
:show => link_to('Show', error_path(self)),
:hide => self.handled ? "" : "#{link_to 'Hide', handle_error_path(self)}"
}
end
...
弄清楚我需要包括什么是多么努力。但现在我收到错误:“无法将字符串转换为哈希”
这是因为 'link_to' 使用了 'url_for',这是 UrlHelper 和 UrlWriter 都拥有的一种方法,但实际上行为不同。
所以我束手无策。如果有人可以帮助我弄清楚如何做到这一点,或者告诉我如何在不破坏 MVC 的情况下满足要求,我将非常感激。