Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-如何在模型中获取完整URL_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails-如何在模型中获取完整URL

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

在我的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.application.routes.url_helpers.product_url(self)
end

我实现了这个功能,但必须为它添加主机和仅路径选项,以显示完整的url
Rails.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