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"} 

使用相同的逻辑可以创建仅适用于所需子域的路径。