2017-03-03 29 views
0

獲取完整URL在我的Rails應用程序5,我試圖獲取完整URL對我的實例,但是當我試圖用url_for在這太問題的建議,我得到一個錯誤, NoMethodError: undefined method 'url_for' for #<Product:0x8646fc0>Rails的 - 如何在模式

Full URL with url_for in Rails

def get_url 
    url = url_for(self) 
end 

我也試過product_url(self)並收到了類似的錯誤。

什麼是正確的方式來獲取我的實例的URL?謝謝!

回答

1

輔助方法僅適用於視圖或裝飾器。 最好在修飾器中定義get_url

,如果你想使用的輔助方法模型,嘗試這種

def get_url 
    Rails.application.routes.url_helpers.product_url(self) 
end 
+0

我得到這個工作,但必須添加主機和only_path選項來顯示其完整的URL'Rails.application。 routes.url_helpers.product_url(自我,:only_path =>假:主機=> 「www.foo.com」)' – yellowreign

+1

可以指定protocal了。像這樣'Rails.application.routes.url_helpers.product_url(self,:host =>「www.foo.com」,:protocal =>'https')' – silentfox