[英]Rails 3 - Subdomain Issue Moving to Heroku
我編寫了一個應用程序,它使用每個用戶帳戶的子域來隔離環境。 所有這一切都很好,除了我有一個問題。 我不能同時讓 www 和 "" 擁有與所有其他子域不同的根路徑。
對於所有帳戶子域,我有一個根頁面:
root :to => "applications#index"
我需要這是所有子域的根頁面,除了“”的空白子域,然后是“www”。 對於 www,我在路線上有這個:
constraints(:subdomain => "www") do
root :to => "promos#index"
end
我正在努力解決的問題,所以“”也將使用 promos#index 作為根路徑。 當它不是根路徑時,mywebsite.com 將它們發送到應用程序#index,這需要登錄。 我不希望用戶在第一次訪問時看到的東西。
無論如何修改此代碼以包含 mywebsite.com 以具有不同的根? 我嘗試過使用“”復制代碼之類的方法,但這往往會弄亂所有其他子域,無論順序如何。 以下是我的路線文件中的內容:
constraints(:subdomain => "www") do
root :to => "promos#index"
end
root :to => "applications#index"
您可以使用實現“匹配?”的 object 做一些真正的定制的東西。 如果您是客戶子域,我們將在下面設置 applications#index,如果您不是客戶子域,則將您發送到 promo#index
在您的路線中:
Yourapp::Application.routes.draw do
constraints(SubDomain) do
root :to => "applications#index"
end
root :to => "promo#index"
...
end
然后是子域匹配器文件:
配置/初始化程序/subdomain.rb
class SubDomain
def self.matches?(request)
case request.subdomain
when 'www', '', nil, #admin/api/etc could also go here
false
else
true
end
end
end
subdomain.rb 也可以存在於 lib 中(如果它正在自動加載)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.