我正在編寫一個應用程序,它將使用大本營風格子域名(See post)。強制子域名和刪除子域名
有應用程序應該始終處於一個子和部分應該永遠不會在一個子域的部分。例如,「主頁」不應該在子域中,但博客和帖子資源總是應該。請記住,我不知道子域名,因爲每個帳戶都有一個子域名。
我建立了像這樣的路線(例子)。它可以很好地匹配路線,但我很難迫使我的應用程序鏈接到正確的位置。
MyApp::Application.routes.draw do
# these should all route to mysubdomain.myapp.com
# Clicking on a post from myapp.com/categories/12 should take you to mysubdomain.myapp.com/posts/14
constraints(Subdomain) do
resources :blogs { resources :posts }
end
# these should all route to myapp.com (clicking on one of these links from mysubdomain.myapp.com should go to myapp.com/categories/12)
constraints(NoSubDomain) do
resources :categories
end
end
問題是,一旦我在子域中,所有到其他頁面(類別等)的鏈接都包含子域。我不確定最好解決這個問題。非常感謝你的幫助。
我喜歡這個建議,而且我之前在網上看到過,但是,我需要做兩件事之一 - 覆蓋並將默認設置爲false,然後在所有鏈接中傳遞子域,反之亦然。我希望Rails能夠從我的路由文件中得到一個提示,畢竟這就是它的存在...... – 2011-04-19 04:26:59
我知道它基本上可以正常工作,但是您希望確保特定的路徑,如「家」沒有一個子域。我以爲你可以在這些鏈接上使用這個覆蓋(:subdomain => false),並保持原樣。 (如果您沒有通過:子域作爲選項,現有功能保持不變。) – talyric 2011-04-19 14:50:07
thx!正是我正在尋找:) – Rubytastic 2012-09-15 17:46:33