标题说明了一切。控制器非常简单 - 只需使用“view_context”即可。但它不适用于模型。
E.g ApplicationController.new.view_context.url_for
产生于:“未定义的方法'主机'为nil:NilClass”
ActionView::Base.new(Rails.configuration.paths["app/views"].first).url_for
不起作用。
这可以在没有那么多痛苦的情况下完成吗?
P.S我需要它为我的Prawn宝石!我想从模型中生成PDF。除了在其中生成链接之外 - 它非常成功!
希望得到你的帮助!提前致谢!
答案 0 :(得分:2)
它可能依赖于Rails版本,但通常此方法现在在Rails.application.routes
中定义。它希望您提供带url_options的哈希值,其中包含:host
密钥。
答案 1 :(得分:1)
路轨5
include Rails.application.routes.url_helpers
url_for(myModelObject)