0

リモートのMySQLテーブルのデータに接続し、それを反復処理し、ActiveRecordの「create」メソッドを使用してすべての検証とコールバックが実行されるようにする必要があります。複数のデータベース構成設定を持ち、モデルごとに個別に割り当てるためのドキュメントを見つけましたが、一度のインポートでモデルまたは移行を作成したくないため、それは私のニーズに適合しません。

そこで、ARの外部でデータベースをクエリするこの別の方法を見つけました。

base = ActiveRecord::Base.establish_connection(
  :adapter  => "mysql2",
  :host     => "XXX",
  :username => "YYY",
  :password => "ZZZ",
  :database => "AAA"
)

results = base.connection.execute("SELECT * FROM programs WHERE 1")

しかし、それはかなり不可解に見えるオブジェクトを返します:

#<Mysql2::Result:0x007fdf6e8bb9d8>

何か案は?

4

2 に答える 2

0

ActiveModelを見てください。そこに必要なすべての機能を配置し、検証などにアクセスできます。

于 2013-01-23T20:42:24.677 に答える
0

これはトリックを行います:

base.connection.select("SELECT * FROM programs WHERE 1")
于 2013-01-23T20:41:39.593 に答える