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

这最终只保存了一个无线电组,而不是全部保存在哈希中。关于如何做到这一点的任何想法?

4

1 回答 1

1

有一个名为activerecord-import的 gem ,可以有效地插入多条记录。它适用于许多流行的数据库后端,并且可以对大多数后端做正确的事情。这正是您想要的:它接受一个对象实例数组或一个哈希值数组,并在单个语句中将它们插入到表中。

这是 gem 文档中的一个使用示例:

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