Il suffit d'utiliser la gemme activerecord-import pour rails 3 ou ar-extensions pour rails 2.
https://github.com/zdennis/activerecord-import/wiki
Dans Gemfile :
gem "activerecord-import"
Dans le modèle :
import "activerecord-import"
Dans le contrôleur :
books = []
10.times do |i|
books << Book.new(:name => "book #{i}")
end
Book.import books
Ce code permet d'importer 10 enregistrements en une seule requête ;)
o
#@messages = ActiveSupport::JSON.decode(@content)
@messages = JSON(@content)
#prepare data for insert by one insert
fields = [:field1, :field2]
items = []
@messages.each do |m|
items << [m["field1"], m["field2"]]
end
Message.import fields, items