0

次のハッシュを返すラジオ ボタンのグループがあります。

{"1"=>"1", "3"=>"2"}

キーは event_id を表し、値は regoption_id を表します。これらをできれば一度にサブスクリプション テーブルに挿入する必要があります。私は次のことを試しました:

params[:children].each do |child|    
  Subscription.create({:event_id => child[0], :regoption_id => child[1]}).save
end

これにより、すべてのラジオ グループがハッシュに保存されるわけではなく、1 つのラジオ グループだけが保存されることになります。これを行う方法についてのアイデアはありますか?

4

1 に答える 1

1

複数のレコードを効率的に挿入するactiverecord-importという gem があります。多くの一般的な DB バックエンドで動作し、それらのほとんどで正しいことを行います。オブジェクト インスタンスの配列、または値のハッシュの配列を受け取り、それらを 1 つのステートメントでテーブルに挿入します。

以下は、gem のドキュメントにある使用例です。

books = []
10.times do |i| 
  books << Book.new(:name => "book #{i}")
end
Book.import books
于 2013-03-11T00:25:13.237 に答える