Autodestruction d'un record

Bonjour,

J’ai un modèle représentant des lignes de stock avec une ressource
associé à une quantité. On peut modifier la quantité en stock uniquement
par différence (on agit pas sur la quantité mais en ajoutant ou
soustrayant).

Et j’aurais voulu savoir si lorsque la quantité tombe à 0 et qu’on
sauvegarde le record il n’y aurais pas moyen de le détruire plutôt que
de sauvegarder une ligne de stock avec une quantité nulle.

Merci d’avance.
Titinux

bonjour,
si tu as une base mysql tu peux faire un trigger je pense pour gérer ça.

Le 8 décembre 2009 16:29, Jérémie Horhant [email protected]
a
écrit :

Jérémie Horhant a écrit :

Merci d’avance.
Titinux

after_save :delete_me_if_empty

def delete_me_if_empty
if self.quantity <= 0
self.destroy
end
end


Cyril M.

Merci beaucoup de ta réponse, j’aurais juste deux objections à faire sur
cette solution :

1 - Est-ce bien raisonnable de modifier la base de donnée dans “le dos”
d’active record ? Je suis presque sur qu’on peut arriver à des
situations assez étranges.

2 - Ça casse complètement l’agnosticisme d’active record concernant les
bases de données.

Donc en gros je préférerais faire autrement. :slight_smile: