2015-02-07 59 views
3

我目前在開發Ruby on Rails應用程序時遇到了一個主要問題。我從來沒有使用過子域,但是因爲這個項目需要這樣做。子域名無法在本地導軌上工作env


我通過scope添加了每個子域約束,但路由不起作用。這裏是我的routes.rb

scope module: :frontend, subdomain: ':company_id' do 
    resources :RESOURCE_NAME do 
    scope module: 'MODULE_NAME' do 
     [...] # Some simple routes 
    end 
    end 
    [...] 
end 

所以,我跳過了路線,因爲他們是不是真的很重要,他們只是簡單的getpost事情。

現在,問題是,每次我打電話給*_path方法時,我都沒有被重定向到子域(從那時起,所有的東西都可以在lvh.me中正常工作)。每個子域(我還有更多)在我直接訪問它們時正在工作,而且還在我訪問主頁時(http://lvh.me:3000/)。子域範圍launchpad向我展示,而不是我在我的routes.rb中指定的直接根。

現在我問,如何解決問題。

回答

0

你可以去http://moo.lvh.me:3000/

簡單的在你的控制器只是做以下

unless request.subdomains.any? 
    redirect_to subdomain: 'www' 
else 
    ... 
    # there is no subdomain 
end 
+0

感謝,但如果我不希望使用任何** **子域? – 2015-04-22 12:13:59

+0

然後你可以忽略它。或者把你的代碼放在else區域。 – MZaragoza 2015-04-22 12:15:57