私の顧客は、すべてのユーザーが独自のデータベース ユーザーを持つ既存のデータベースを持っており、すべてのユーザーが自分のデータベース ユーザーを使用して 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)。