Rails得到url_for在模型内部工作

时间:2013-01-23 13:44:01

标签: ruby-on-rails model-view-controller url

标题说明了一切。控制器非常简单 - 只需使用“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。除了在其中生成链接之外 - 它非常成功!

希望得到你的帮助!提前致谢!

2 个答案:

答案 0 :(得分:2)

它可能依赖于Rails版本,但通常此方法现在在Rails.application.routes中定义。它希望您提供带url_options的哈希值,其中包含:host密钥。

答案 1 :(得分:1)

路轨5

include Rails.application.routes.url_helpers

url_for(myModelObject)