Setzen Sie so etwas in Ihren Anwendungscontroller. Ich verwende die Subdomain plus "_clientdb", um den Namen der Datenbank auszuwählen. Ich habe alle Datenbanken, die den gleichen Benutzernamen und das gleiche Passwort verwenden, also kann ich das aus der Konfigurationsdatei der Datenbank holen.
Hoffe, das hilft!
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