rails 3 - 一个应用程序,多个域,如何为其中一个域实现不同的"根"路由?

jpw*_*ynn 7 routes ruby-on-rails

几个不同的域名指向heroku上的我的应用程序,例如foo.com和bar.com都指向该应用程序.(我们托管专门的博客页面,foo.com是我们创建网页的用户使用的域名,而bar.com是博客页面所在的"面向公众"的域名.)

所有用户编辑页面都有Devise身份验证,foo.com上的"root"是用户的仪表板页面.登录用户可以通过foo.com/reviewpage/USERID预览他们的博客页面

每个用户帐户还有一个独特的"友好网址名称",例如"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"?

apn*_*ing 9

我通常按​​如下方式进行:

constraints(Subdomain) do
  match "/" => "home#admin"
end

match "/" => "home#standard" 
Run Code Online (Sandbox Code Playgroud)

要么:

match "/" => "home#admin", :constraints => {:subdomain => "admin"}

match "/" => "home#standard" 
Run Code Online (Sandbox Code Playgroud)

这创造了:

/(.:format) {:action=>"admin", :subdomain=>"admin", :controller=>"home"}
root  /(.:format) {:action=>"standard", :controller=>"home"}
Run Code Online (Sandbox Code Playgroud)

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