ActiveRecord每个请求一个连接

时间:2016-12-19 15:43:34

标签: ruby-on-rails ruby-on-rails-4 activerecord

我有一个允许用户在多个环境中连接的应用程序。 根据用户选择的环境选择,activerecord将使用Database X或Y。

但是当我使用ActiveRecord :: Base.establish_connection时,activerecord会为所有用户更改数据库。 我希望用户'A'使用数据库'X',用户'B'在一个应用程序中同时使用数据库'Y'。 这可能与rails有关吗?

2 个答案:

答案 0 :(得分:0)

我在想你可以做这样的事情

您需要在/config/database.rb

中声明连接
MyModel < ActiveRecord::Base
    establish_connection "other_#{session[:user_db]}"
end

答案 1 :(得分:0)

您可以尝试this回答。

根据用户类型(X或Y),您可以建立相应的数据库连接。

或者,

您可以尝试this gem。