Мы делаем это примерно так:
session[:site] = case request.subdomains.last
when "a" then "a"
when "b" then "b"
when "c" then "c"
end
Это часть метода set_site
в нашем контроллере приложений.Каждый запрос проверяет, установлена ли session[:site]
;в противном случае он вызывает set_site
, чтобы установить его.
В вашем случае, теперь вам просто нужно ввести логику в свои представления, чтобы представлять вещи по-разному в зависимости от значения session[:site]
, но еще лучше, есливаш фактический вид HTML такой же, а главное отличие в CSS.Затем вы просто загружаете разные CSS-файлы в зависимости от значения session[:site]
.