В настоящее время я направляю весь трафик, который является поддоменом и / или названным на моем сайте, на контроллер, называемый внешним, и методом, называемым обработчиком.
Это очень запутанно, и я хотел бы его очистить.Я хотел бы, чтобы все внешние запросы обрабатывались обычным способом rails ": controller /: action /: id", однако я хочу, чтобы эти контроллеры находились в их собственной папке, чтобы в моих основных контроллерах не было перекрытия./controllers/external/controller_name.rb
Вот что у меня есть на данный момент:
not_domain_regex = Regexp.new('\A(?!(' + SiteConfig::domain.gsub('.', '\.') + '))', true)
is_domain_regex = Regexp.new('\A((' + SiteConfig::domain.gsub('.', '\.') + '))', true)
map.connect(
'*path',
:controller => 'external',
:action => 'handler',
:conditions => {
:domain => not_domain_regex
}
)
map.connect(
'*path',
:controller => 'external',
:action => 'handler',
:conditions => {
:domain => is_domain_regex,
:subdomain => /([a-z0-9\-\_]{1,100}[^www])/i
}
)
Я полностью потерян.Поэтому я хотел бы иметь функциональность, которая будет выглядеть следующим образом:
map.connect(
':controller/:action/:id',
:namespace => 'external',
:conditions => {
:domain => not_domain_regex
}
)