To, czego szukasz, to ar-extensions
Zainstaluj klejnot za pomocą
sudo gem install ar-extensions
Dołącz klejnot do pliku environment.rb (lub bezpośrednio w modelu, z którym chcesz wykonać wstawki)
require 'ar-extensions'
I wstawiaj wiele rekordów w jednym INSERT
zapytanie za pomocą
fields = [:first_name, :last_name, :email]
data = [["glenn", "gillen", "[email protected]"],
["john", "jones", "[email protected]"],
["steve", "smith", "[email protected]"]]
User.import fields, data
Możesz to zrobić również za pomocą obiektów ActiveRecord.
data = [
User.new(:first_name => 'glenn', :last_name => 'gillen', :email => '[email protected]'),
User.new(:first_name => 'john', :last_name => 'jones', :email => '[email protected]'),
User.new(:first_name => 'steve', :last_name => 'smith', :email => '[email protected]')
]
User.import fields, data
Do tabeli użytkowników wstawiono 3 nowe wiersze z tylko jednym zapytaniem!
Więcej na ten temat tutaj , tutaj i tutaj .