我有几个客户使用的rails应用程序。每个客户端都通过域访问,但所有域都使用相同的rails app:
my-client-1.mycompany.com
my-client-2.mycompany.com
my-client-n.mycompany.com
该应用程序适用于多个数据库,每个客户端一个数据库。所有数据库都具有相同的结构,它们是相同的。我在database.yml中每个数据库有一个配置:
my-client-1:
adapter:
username:
my-client-2:
adapter:
username:
...
我需要向应用程序指出,基于一个用户使用的域,它必须更改相应的数据库。例如,如果用户通过my-client-2.mycompany.com进入,那么要使用的数据库必须是my-client2。
我已经通过在我的application_controller.rb中包含此代码来完成此操作:
before_filter :set_db_connection
def set_db_connection
d = request.host.split('.')
current_domain = d[0]
ActiveRecord::Base.establish_connection current_domain
end
现在我有接下来的两个问题:
谢谢