如何使用rails path helper更改域?

时间:2013-07-29 15:46:57

标签: ruby-on-rails ruby-on-rails-3

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

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

这在开发环境(localhost)或生产环境中都有效。 对于开发,它将生成url

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

对于生产,它会生成

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

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

谢谢。

2 个答案:

答案 0 :(得分:6)

你可能想要url helper,它会选择一个域作为选项并制作一个fqdn。

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

它还会选择您可能在路线中添加的任何限制。

答案 1 :(得分:-4)

尝试

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

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

或者您可以创建一个absolute_link_to方法,只需包装link_to方法即可执行您想要的操作。

修改

5年后更新Rails的更新版本...尝试

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