2011-06-17 42 views
7

幾個不同的域名指向我在heroku上的應用,例如foo.com和bar.com都指向該應用。 (我們託管專門的博客頁面,foo.com是我們創建網頁的用戶所使用的域名,bar.com是博客頁面所在的'面向公衆'的域名。)rails 3 - 一個應用程序,多個域,如何爲一個域實現不同的「根」路線?

所有用戶 - 編輯頁面具有設計認證,並且foo.com上的「根」是用戶的儀表板頁面。而一個登錄用戶可以在foo.com/reviewpage/USERID

每個用戶acount還具有獨特的「友好URL名稱」,如「ACME-INC達拉斯 - TX」

預覽他們的博客頁面在面向公衆的網頁bar.com(但僅此一個領域),我需要以某種方式映射

http://bar.com/friendly-url-name到:控制器=> myController的,:動作=> myaction

假設這意味着我需要重新映射bar.com上的「root」(但僅限bar.com)映射到查找「find_friendly_url」的方法顯示它。

如果這是繼續進行的正確方法...我將如何重新映射「根」爲唯一指向我的應用程序的一個域?

回答

8

我一般步驟如下:

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

同樣的邏輯,您可以創建只提供給需要的子域的路線。

+0

非常酷,謝謝...我使用:主機=>「otherdomain.com」而不是子域,它運作良好。 – jpwynn

相關問題