【发布时间】:2013-06-07 08:09:46
【问题描述】:
我的客户有一个现有的数据库,其中每个用户都有自己的数据库用户,他希望每个用户都使用自己的数据库用户登录到 rails 应用程序。
对于我的这个数据库模型,我使用ActiveRecord::Base::establish_connection 连接登录表单的用户名和密码。
现在我想在after_filter 中关闭此连接,以便其他用户无法从连接池中获取此连接。但这不起作用。
我想在我的控制器中使用这样的东西:
class Demo < ActiveRecord::Base
before_filter :connect
after_filter :close_connection
def action
# do some stuff with the database
end
end
我怎样才能通过ActiveRecord 实现这一点,或者有没有更好的解决方案来解决这个问题?或者是否有其他 ORM 映射器可以更好地解决这个问题?
我无法更改数据库或每个用户都有自己的数据库用户需要登录的事实,因为我的客户确实将此结构用于其他应用程序:(
这是一个 Postgres 数据库。和 Rails 3.2.13 (JRuby)。
【问题讨论】:
标签: ruby-on-rails database activerecord