0

(何らかの理由で) 複数のデータベースに接続する必要がある Rails アプリケーションがあります。ActiveRecord::Base. Establish_connection を使用できることはわかっていますが、問題は、データベース名が同じ接頭辞を持つ多くの名前の1つである可能性があることです。つまり、db_001、db_002 などです。「001」、「002」の番号は、コントローラーからモデルに渡され、現在のアプリケーション フローに基づいています。

質問: このように、データベース名をパラメータとして Establish_connection に渡すことはできますか?

class Some < ActiveRecord::Base
 establish_connection ({
    :adapter  => "mysql2",
    :username => "name",
    :password => "pass"
    :database => "db_#{THE_PASSED_VALUE}"
 })
end

これらの特定のデータベース (db_001、db_002、...) は、この 1 つのモデルによってのみ使用されます。

ありがとうございました

4

1 に答える 1

0

Rails 2.3.xにはあります

ActiveRecord::Base からの database_name。

これは、Ruby on Rails ですべてのモデルの Active Record データベースを動的に変更するにはどうすればよいですか? に似ています。

于 2013-01-26T23:41:34.333 に答える