Comment utiliser dépend:: détruire dans les rails?
J'ai 2 modèles, comme décrit ci-dessous.
class EmpGroup < ActiveRecord::Base
belongs_to :user
has_many :emp_group_members, dependent: :destroy
end
et
class EmpGroupMember < ActiveRecord::Base
belongs_to :emp_group
belongs_to :user
end
maintenant le problème est que chaque fois que j'ai essayé de détruire un groupe, puis j'ai reçu une erreur comme ci-dessous.
PG::ForeignKeyViolation: ERROR: update or delete on table "emp_groups" violates foreign key constraint "fk_rails_bd68440021" on table "emp_group_members"
DETAIL: Key (id)=(1) is still referenced from table "emp_group_members".
Ce que je suis absent?
source d'informationauteur sank
Vous devez vous connecter pour publier un commentaire.
Ajouter de suppression en cascade à votre EmpGroup modèle:
Ou
Faites-vous appel à
delete
méthode? vous devriez appelerdestroy
à la place.Utilisation
.destroy
:dépendant de est l'une des options disponibles dans belongs_to association
Additionally, objects will be destroyed if they're associated with dependent: :destroy, and deleted if they're associated with dependent:
:delete_all.dans has_many associations:
vous pouvez essayer
Lorsque vous supprimez un groupe, utilisez-vous de supprimer ou de détruire. - J'ai eu cette erreur avant, et c'était parce que j'avais une erreur de frappe et a été à l'aide .supprimer, au lieu de .détruire