几个不同的域名指向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”?
答案 0 :(得分:9)
我通常按以下步骤进行:
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"}
使用相同的逻辑可以创建仅适用于所需子域的路径。