358 votes

Comment voulez-vous supprimer dans l'enregistrement actif?

Comment voulez-vous supprimer dans l'enregistrement actif?

J'ai regardé Active Record de l'Interrogation et il n'a rien sur la suppression des que je peux voir.

  1. Supprimer par id,

  2. Supprimer l'objet courant comme: user.remove,

  3. Pouvez-vous supprimer fondée sur une clause where?

616voto

Marek Sapota Points 7439

C'est détruire et destroy_all méthodes, comme la

user.destroy
User.find(15).destroy
User.destroy(15)
User.where(:age => 15).destroy_all
User.destroy_all(:age => 15)

Vous pouvez également utiliser les supprimer et delete_all qui ne se déclenche pas :before_destroy, :around_destroy, :after_destroy rappels.

67voto

動靜能量 Points 33008

Il est delete, delete_all, destroy, et destroy_all.

Les docs sont: les anciennes docs et Rails 3.0.0 docs

delete n'a pas d'instancier les objets, tout en destroy . En général, delete plus rapide que de l' destroy.

49voto

Tadas Tamosauskas Points 1090

1) de l'Utilisateur.détruire(1) supprimer l'utilisateur avec l'id == 1 et :before_destroy et :after_destroy rappels de se produire. c'est à dire si vous avez des enregistrements associés

has_many :addresses, :dependent => :destroy

après que l'utilisateur a détruit ses adresses va être détruit. si vous utilisez l'action de suppression au lieu de cela, les rappels ne se produira pas.

2) de l'utilisateur.détruire, de l'utilisateur.supprimer

3) de l'Utilisateur.destroy_all() ou de l'Utilisateur.delete_all()

avis Utilisateur est une classe et l'utilisateur est une instance de l'objet

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X