Pon algo así en tu controlador de aplicaciones. Estoy usando el subdominio más "_clientdb" para elegir el nombre de la base de datos. Tengo todas las bases de datos usando el mismo nombre de usuario y contraseña, así que puedo tomar eso del archivo de configuración db.
Espero que esto ayude!
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