1
レールアクティブなレコードを使用してバルク内のすべてのネストされた属性を挿入します私のパラメータ構造は次のようになりますは、どのように私はこのようなレポートモデルを持っている
Report.create({name: params[:name], report_clients_attributes: [{client_id: 1}, {client_id:2}]})
レポートと2つのクエリを挿入するために1つのクエリが実行されますreport_clientsを挿入します。
一般に、私は1000のSQLクエリにつながる各レポートに対して1000個のreport_clientsを挿入しました。
私はraw SQLインサートを記述することで、一括挿入を使用して問題を解決できます。しかし、それが他の方法/これを行うより良い方法であるかどうかを知りたがっていました。
ありがとうございました。この場合、レポートモデルの検証は機能しますか。 –
はい、検証を実行するので、 'save!'を使うか、 'if save'の下に入れ子のクライアントを追加することができます。私は処理するために 'transaction'ブロックの下にある全てと、他のデータベースエラーを追加しました。 – RSB
ReportClient.import(report_clients_objects)を実行したいとき ***クラスがバリデーションやコールバックなしで多数作成する*** –