当前位置:  开发笔记 > 程序员 > 正文

在Rails中使用url_for的完整URL

如何解决《在Rails中使用url_for的完整URL》经验,为你挑选了3个好方法。

如何在rails中获得完整的URL?

url_for @book只返回像/ book/1这样的路径而不是www.domain.com/book/1

谢谢(如果答案很明显,那就很抱歉.我正在学习铁路!)



1> Andy Gaskell..:

根据文档,这不应该发生.您正在寻找的选项是:only_path默认情况下它是假的.如果将其明确设置为false会发生什么?

url_for(@book, :only_path => false)

虽然你可以使用url_for你应该更喜欢Ryan的方法,你可以 - book_url(@book)完整的网址或book_path(@book)路径.


url_for(@ book,:only_path => false)在这里引发了一个异常,因为你在期望的时候已经传入了2个参数1.看起来他们会构建这个方法来接受选项,但是在最新版本的rails中它只接受一个:字符串/实例或选项的哈希.
这不起作用,至少在Rails 3.2.9中没有
添加:only_path => false使用rails 3.1.1解决了它

2> Ryan Bigg..:

如果它是RESTful资源,您将能够使用它:

book_url(@book)



3> Ciro Santill..:

在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_forArray输入只是调用:

polymorphic_url([@post, @comment], {only_path: true})

如@ moose的回答所示.

如@lime所述,only_path通常不需要,polymorphic_url因为您将其与_url _path后缀区分开来.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有