Ok, je suis en train de détruire plusieurs enregistrements dans un before_create:before_create - détruire plusieurs enregistrements
class InventoryItem < ActiveRecord::Base
belongs_to :user
belongs_to :item
before_create :replace_owned_items
protected
def replace_owned_items
user = self.user
item = self.item
owned_items = user.retrieve_owned_items(item)
unless owned_items.blank?
owned_items.each do |o|
o.destroy
end
end
end
end
Mon problème est que seul un enregistrement finit par être détruit.
L'autre est que si j'utilise détruire! (Je veux qu'une exception soit levée si elle ne détruit pas), alors je reçois une erreur tout à fait.
Comment accomplir la destruction de plusieurs enregistrements dans un before_create?
pas si sûr à propos de la question, mais comme note, vos lignes 'user = self.user' et' item = self.item' sont redondantes. 'user' est déjà la même chose que' self.user', 'self' est implicite. est comme dire moi = moi :) –