rails 3 – 一个应用程序,多个域,如何为其中一个域实现不同的“根”路由?
几个不同的域名指向heroku上的我的应用程序,例如foo.com和bar.com都指向该应用程序。 (我们托管专门的博客页面,foo.com是我们创建网页的用户所使用的域名,而bar.com是博客页面所在的“面向公众”的域名。)
所有用户编辑页面都有Devise身份validation,foo.com上的“root”是用户的仪表板页面。 登录用户可以在foo.com/reviewpage/USERID预览他们的博客页面
每个用户帐户还有一个独特的“友好url名称”,例如“acme-inc-dallas-tx”
在面向公众的网页bar.com上(但只有这一个域名),我需要以某种方式映射
http://bar.com/friendly-url-name to:controller => mycontroller,:action => myaction
我认为这意味着我需要将bar.com(但仅限bar.com)上的“root”重新映射到查找相应页面并显示它的方法“find_friendly_url”。
如果这是正确的继续进行方式…我将如何为一个且仅指向我的应用的一个域重新映射“root”?
我通常按如下方式进行:
constraints(Subdomain) do match "/" => "home#admin" end match "/" => "home#standard"
要么:
match "/" => "home#admin", :constraints => {:subdomain => "admin"} match "/" => "home#standard"
这创造了:
/(.:format) {:action=>"admin", :subdomain=>"admin", :controller=>"home"} root /(.:format) {:action=>"standard", :controller=>"home"}
使用相同的逻辑可以创建仅适用于所需子域的路径。