Ruby on rails Rails-如何在模型中获取完整URL
在我的Rails 5应用程序中,我试图获取我的实例的完整URL,但当我尝试使用此SO问题中建议的Ruby on rails Rails-如何在模型中获取完整URL,ruby-on-rails,Ruby On Rails,在我的Rails 5应用程序中,我试图获取我的实例的完整URL,但当我尝试使用此SO问题中建议的URL\u for时,我得到一个错误,NoMethodError:for的未定义方法“URL\u” 我还尝试了product\u url(self),收到了类似的错误 获取我的实例的URL的正确方法是什么?谢谢 助手方法仅在视图或装饰器中可用。 最好在decorator中定义get\u url 如果要在模型中使用helper方法,请尝试以下操作 def get_url Rails.applica
URL\u for
时,我得到一个错误,NoMethodError:for的未定义方法“URL\u”
我还尝试了product\u url(self)
,收到了类似的错误
获取我的实例的URL的正确方法是什么?谢谢 助手方法仅在视图或装饰器中可用。
最好在decorator中定义get\u url
如果要在模型中使用helper方法,请尝试以下操作
def get_url
Rails.application.routes.url_helpers.product_url(self)
end
我实现了这个功能,但必须为它添加主机和仅路径选项,以显示完整的urlRails.application.routes.url\u helpers.product\u url(self,:only\u path=>false,:host=>“www.foo.com”)
您也可以指定协议。像这样Rails.application.routes.url\u helpers.product\u url(self,:host=>“www.foo.com”,:protocal=>“https”)
这是否也适用于开发还是仅适用于生产?
def get_url
Rails.application.routes.url_helpers.product_url(self)
end