我正在做一个后台管理,需要链接多个数据库,比如 A,B,C。到底连哪个是在登录时就选好确定的。后面的操作都基于这个数据库的数据
我可以在登录时这么写
ActiveRecord::Base.establish_connection(:one_db)
后来我发现,只在登录时设置是不行的,因为多个用户同时操作时,我必须在每一个 action 前都判断用户选择的是哪个库。
我或许可以将用户选的 db 参数放进 session,并在 ApplicationController 中写个 before_action, 每次操作都判断并重新执行 establish_connection
但我觉得这不是好办法,大家在实践中是怎么做的呢?