Поместите что-то подобное в свой контроллер приложений. Я использую поддомен плюс "_clientdb", чтобы выбрать имя базы данных. У меня есть все базы данных, использующие одно и то же имя пользователя и пароль, поэтому я могу получить их из файла конфигурации db.
Надеюсь, это поможет!
class ApplicationController < ActionController::Base
before_filter :hijack_db
def hijack_db
db_name = request.subdomains.first + "_clientdb"
# lets manually connect to the proper db
ActiveRecord::Base.establish_connection(
:adapter => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['adapter'],
:host => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['host'],
:username => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['username'],
:password => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['password'],
:database => db_name
)
end
end