2017-09-12 1 views
1

J'ai ce code Ruby que je veux utiliser:Mettre en œuvre tableau et itérer

if args[:remove_existing_trxs] == 'true' 
    Acquirer.delete_all 
    Company.delete_all 
    Currency.delete_all 
    AdminUser.delete_all 
    BaseReseller.delete_all 
    Terminal.delete_all 
    Contract.delete_all 
    Merchant.delete_all 
    MerchantUser.delete_all 
    PaymentTransaction.delete_all 
    end 

Comment puis-je définir comme un tableau et itérer?

+3

Ne serait pas dependency_true sur chaque modèle (avec l'association modèle défini) plus approprié sur ce scénario et l'utilisation one delete_all pour supprimer les dépendances? – TheMouseMan

+2

Pourquoi avez-vous tagué votre question avec 'ruby-on-rails-3' et' ruby-on-rails-4', ciblez-vous les deux versions? – Stefan

Répondre

4

Quelque chose comme ça?

[Model1, Model2].each do |model| 
    model.public_send(:delete_all) 
end 

Ou avec l'aide Symbol#to_proc:

[Model1, Model2].each(&:delete_all) 
2

essayer ceci:

if args[:remove_existing_trxs] == 'true' 
    [Acquirer, Company, Currency, AdminUser, 
    BaseReseller, Terminal, Contract, Merchant, 
    MerchantUser, PaymentTransaction].each(&:destroy_all) 
    end