如何在rails中获得完整的URL?
url_for @book只返回像/ book/1这样的路径而不是www.domain.com/book/1
谢谢(如果答案很明显,那就很抱歉.我正在学习铁路!)
根据文档,这不应该发生.您正在寻找的选项是:only_path
默认情况下它是假的.如果将其明确设置为false会发生什么?
url_for(@book, :only_path => false)
虽然你可以使用url_for
你应该更喜欢Ryan的方法,你可以 - book_url(@book)
完整的网址或book_path(@book)
路径.
如果它是RESTful资源,您将能够使用它:
book_url(@book)
在Rails 4中,url_for只接受一个参数,因此您需要为该only_path
选项传递一个内部显式哈希的数组.
好:
url_for([@post, @comment, {only_path: true}])
坏:
url_for(@post, @comment, {only_path: true}) url_for([@post, @comment], {only_path: true})
从源头抓起,url_for
与Array
输入只是调用:
polymorphic_url([@post, @comment], {only_path: true})
如@ moose的回答所示.
如@lime所述,only_path
通常不需要,polymorphic_url
因为您将其与_url
_path
后缀区分开来.