2012-10-25 7 views
0

我的Rails應用是用戶創建自己的基本網站的一種方式。所以他們每個人都有一個根文件夾是mydomain.com/user/1。他們將有其他頁面,如mydomain.com/user/1/about等。我如何配置rails和heroku,使www.user1.com等指向mydomain.com/user/1,以及類似www.user1。 com/about指向mydomain.com/user/1/about?Heroku/Rails將example.com路由至mydomain.com/example

回答

0

我在應用程序中的做法是首先在數據庫中有用戶域列表。然後創建一個先進的約束 http://edgeguides.rubyonrails.org/routing.html#advanced-constraints

在這種情況下,我的約束類看起來是這樣的:

class UserDomainConstraint 
    def self.matches?(request) 
    UserDomain.all.map(&:domain_name).include? request.domain 
    end 
end 

,然後使用該約束的路徑

root to: 'user_domains#index', :constraints: UserDomainConstraint 

我的動作再考慮看看在request.domain並相應地採取行動。

+0

是否這樣做:UserDomain.all.map(&:domain_name).include?返回用戶ID?換句話說,user_domains#index如何知道用戶是什麼?其次,這是否比直接將它們直接添加到mydomain.com/users/1中更好?特別是對於SSL。 –

+0

不,包括?聲明只是爲域進行查找。爲了提供頁面,您可能需要另一條路線,例如 'match:page'來:'user_pages#show'。 – Ron

相關問題