Ce que vous recherchez, ce sont des ar-extensions
Installez la gemme en utilisant
sudo gem install ar-extensions
Inclure la gemme dans votre environnement.rb (Ou directement dans le modèle avec lequel vous voulez faire des inserts)
require 'ar-extensions'
Et insérez plusieurs enregistrements dans un seul INSERT requête à l'aide de
fields = [:first_name, :last_name, :email]
data = [["glenn", "gillen", "example@sqldat.com"],
["john", "jones", "example@sqldat.com"],
["steve", "smith", "example@sqldat.com"]]
User.import fields, data
Vous pouvez également le faire en utilisant des objets ActiveRecord.
data = [
User.new(:first_name => 'glenn', :last_name => 'gillen', :email => 'example@sqldat.com'),
User.new(:first_name => 'john', :last_name => 'jones', :email => 'example@sqldat.com'),
User.new(:first_name => 'steve', :last_name => 'smith', :email => 'example@sqldat.com')
]
User.import fields, data
3 nouvelles lignes ont été insérées dans la table des utilisateurs, avec une seule requête !
En savoir plus ici , ici et ici .