3つのデータベースで同一のビューが10個以上あります。これらのビューには、データベースのユーザー、オブジェクトなどが含まれます。私はユーザーセッションに基づいてデータベース接続を変更できるようにしたいと思います。言い換えれば、ユーザーはログインし、3つのデータベースのうちどれを使用したいかを選択し、ビューのモデルは適切な接続を使用します。セッション情報に基づいてデータベースを切り替える
私はこれをコード化するのに最善を尽くしています。複数のユーザーが同時にアプリケーションを使用していると、私のモデルで3つの接続プール(各データベースに1つずつ)を保持する必要があると考えられます。私はそれを持っていると確信していますが、どのモデルが特定の接続を使用するように強制することはできますか?とセッションからその情報を渡す方法。
このアプローチ全体について考えてみましょうか?何か良いことがありますか?
代わりに、3つのインスタンスを実行し、3つのデータベースのいずれかを設定し、ユーザーが作業したい3つのサブディレクトリ(サブドメインなど)にリダイレクトすることを検討しましたか? – coreyward
私は、唯一の問題は、変更を保存することです。私は上記に言及しなかったが、ユーザーは関係の変更を要求することができるだろう。私は必然的に "データベースAでこれらの変更をリクエストしましたが、なぜデータベースBに再度リクエストする必要があるのですか?" – Dave
あなたはこの電子書籍を[Ryan Bigg](http://stackoverflow.com/users/15245/ryan-bigg)で読むことができます:https://leanpub.com/multi-tenancy-rails-2 @ryanbigg – coreyward