我試圖讓導軌根據子域去不同的控制器#動作,這就是我在routes.rb中多「根」在軌線路4.0
Petworkslabs::Application.routes.draw do
get '/', to: 'custom#show', constraints: {subdomain: '/.+/'}, as: 'custom_root'
get '/', to: "welcome#home", as: 'default_root'
end
耙至今顯示了正確的路線,我希望它採取
rake routes
Prefix Verb URI Pattern Controller#Action
custom_root GET / custom#show {:subdomain=>"/.+/"}
default_root GET / welcome#home
但由於某些原因,我不能讓像abc.localhost請求:3000打定製控制器。它總是將其路由到歡迎#回家。有任何想法嗎?我相當新的軌道,所以任何關於一般調試的提示也將不勝感激。
編輯:我通過代碼臺階使用調試器,這是我的發現
(RDB:32)request.domain 「abc.localhost」 (RDB:32)request.subdomain 「」 (rdb:32)request.subdomain.present? false
看起來像某些原因,認爲子域不存在,即使它存在。我想知道它是否因爲我在做這個本地主機。
爲什麼你加載一個家庭和在控制器上,你可以使重定向 – MZaragoza
@ mZaragoza,我不遵循你的建議。你能再解釋一下嗎? –
我使用任何sub-doamin獲得您的應用程序。應用程序控制器加載並從那裏你可以確定我來自哪個子doamin,然後你可以重定向我到適當的地方 – MZaragoza