Comment sauvegarder plusieurs enregistrements à la fois dans Rails?
Comment puis-je enregistrer ce tableau dans un appel avec Rails?
tax_rates = [{
:income_from => 0
:income_to => 18200
:start => "01-07-2013"
:finish => "30-06-2014"
:rate => nil
:premium => nil
},{
:income_from => 18201
:income_to => 37000
:start => "01-07-2013"
:finish => "30-06-2014"
:rate => 0.19
:premium => nil
},{
:income_from => 18201
:income_to => 37000
:start => "01-07-2013"
:finish => "30-06-2014"
:rate => 0.19
:premium => nil
}]
Pouvez je viens de l'appeler Rails.create(tax_rates)
?
Aussi, est-il un moyen de supprimer les doublons de symboles pour un look plus propre?
source d'informationauteur Passionate Developer | 2013-09-29
Vous devez vous connecter pour publier un commentaire.
De cette façon, vous allez récupérer un tableau avec
true
etfalse
de savoir qui a réussi et ce qui ne l'a pas.Votre exemple est presque correct.
Utilisation
ActiveRecord::Persistance#create
qui peut accepter un tableau de hachages en tant que paramètre.Si vous voulez tous être sauvés .ou, non pour être sauvé, même si l'on échoue, vous pouvez utiliser 'ActiveRecord::Base.l'opération"
par exemple
Je ne suis pas sûr de rails < 4.2, mais je l'ai essayé dans les rails 4.2 vous pouvez simplement faire ce
Voici un exemple comme la vôtre:
Le tableau est enregistré une fois pour toutes par:
Cela appel
B#save
sur chaque élément d'un tableau.