4

所以 Rails 提供了这些路径助手,例如,我可以在视图文件中拥有

<%= link_to "edit", edit_admin_article_path(article) %>

这将在开发环境(本地主机)或生产环境中工作。对于开发,它会生成 url

http://localhost:3000/admin/articles/1018/edit

对于生产,它会产生

http://www.mydomain.com/admin/articles/1018/edit

我的问题是:即使在开发环境中,如何强制 url 始终是生产链接?我可以将散列中的域值传递给 edit_admin_article_path() 调用吗?

谢谢你。

4

2 回答 2

8

您可能需要 url 助手,它将一个域作为选项并创建一个 fqdn。

edit_admin_article_url(article, domain: "production.tld")

它还将获取您可能在路线中添加的任何约束。

于 2014-02-10T18:31:49.443 回答
-3

编辑

对于较新版本的 Rails,请使用

edit_admin_article_url(article, domain: "example.com")

原始答案(Rails 3)

尝试

<%= link_to "edit", "http://www.example.com" + edit_admin_article_path(article) %>

您当然可以将该部分重构http://www.example.com为辅助方法,这样,如果/当您想更改它时,您就不必到处跟踪它。

或者,您可以创建一个absolute_link_to方法,只需包装该link_to方法即可满足您的需求。

于 2013-07-29T16:09:52.173 回答