[RUBY] Implémentation de la fonction de suppression (si vous avez une clé étrangère)

Aperçu

Lors de la suppression d'un modèle avec une clé externe dans Rails, j'ai eu du mal à l'implémenter simplement en écrivant le fichier de routage, de contrôleur et de vue, donc je vais le sortir.

Détails d'implémentation

Supposons que vous souhaitiez supprimer un modèle appelé item qui a item_purchase qui lie les données sur les achats de produits en tant que clé externe.

Cet item_purchase a un user_id qui est l'acheteur et un item_id qui est l'article acheté.

Ici, si vous supprimez simplement l'élément, il y aura un enregistrement dans item_purchase où seul item_id est manquant.

Par conséquent, lors de la suppression d'un article, nous le décrirons afin que l'enregistrement item_purchase associé lui-même puisse être supprimé.

la mise en oeuvre

Tout d'abord, ajoutons une description supplémentaire à l'association de modèle.

models/item.rb


has_one :item_purchase, foreign_key: :item_id, dependent: :destroy

models/item_purchase.rb


belongs_to :item, optional: true

Je ne le présenterai pas ici, mais comme l'utilisateur doit également être lié, n'oubliez pas de le décrire également.

Après cela, vous pouvez définir la méthode de destruction dans le contrôleur comme d'habitude.

Recommended Posts

Implémentation de la fonction de suppression (si vous avez une clé étrangère)
Implémentation de la fonction de recherche
Mise en œuvre de la fonction de pagénation
Implémentation de la fonction de recherche séquentielle
Implémentation d'une fonction similaire (Ajax)
Implémentation de la fonction de prévisualisation d'image
[Rails] Implémentation de la fonction de catégorie
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la fonction d'importation CSV
[Rails] Implémentation asynchrone de la fonction similaire
[Rails] Implémentation de la fonction de prévisualisation d'image
[Rails] À propos de la mise en œuvre de la fonction similaire
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation de la fonction d'exportation CSV
Implémentation d'une fonction similaire en Java
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (1)
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)
[Ruby on rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
Implémentation de la fonction de connexion Ruby on Rails (Session)
Avez-vous besoin d'une implémentation de Java compatible avec la mémoire?
[JQuery] Procédure d'implémentation de la fonction de saisie semi-automatique [Java / Spring]
Mise en place de la fonction de recherche Mémo d'apprentissage (création de portfolio)
Nous avons rassemblé différentes méthodes d'implémentation de singleton.
Implémentation de la fonction DM
Si vous faites une erreur dans l'emplacement de description de Gem, supprimez Gemfile.lock une fois.
Si vous en avez assez de dessiner des diagrammes ER
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "seed edition"