Ruby on rails Rails获取用于在模型内部工作的url_

Ruby on rails Rails获取用于在模型内部工作的url_,ruby-on-rails,model-view-controller,url,Ruby On Rails,Model View Controller,Url,标题说明了一切。从控制器上看很容易——只需使用“查看上下文”。但它不适用于模型 例如的ApplicationController.new.view\u context.url\u生成:“nil:NilClass的未定义方法'host'” ActionView::Base.new(Rails.configuration.paths[“app/views”]。的url\u也不起作用 这样做能不那么痛苦吗 我需要它来做我的虾宝石!我想从模型中生成PDF。除了生成它内部的链接外,它还非常成功 希望你的帮

标题说明了一切。从控制器上看很容易——只需使用“查看上下文”。但它不适用于模型

例如的
ApplicationController.new.view\u context.url\u生成:“nil:NilClass的未定义方法'host'”

ActionView::Base.new(Rails.configuration.paths[“app/views”]。
的url\u也不起作用

这样做能不那么痛苦吗

我需要它来做我的虾宝石!我想从模型中生成PDF。除了生成它内部的链接外,它还非常成功


希望你的帮助!提前谢谢

它可能取决于Rails的版本,但通常这种方法现在在
Rails.application.routes
中定义。它希望您提供带有url_选项的哈希,其中包括
:host
键。

Rails 5

include Rails.application.routes.url_helpers

url_for(myModelObject)

看一看谢谢!但是我可以跳过:主机部分吗?应该是自动确定的,对吧?@samuli,请看一看;)我真的很想帮忙,但我不知道答案:)不久前,我也遇到过类似的问题,但没有成功。