[RUBY] Implementierung der Löschfunktion (wenn Sie einen fremden Schlüssel haben)

Überblick

Beim Löschen eines Modells mit einem externen Schlüssel in Rails fiel es mir schwer, es einfach durch Schreiben der Routing-, Controller- und Ansichtsdatei zu implementieren, sodass ich es ausgeben werde.

Implementierungsdetails

Angenommen, Sie möchten ein Modell mit dem Namen item löschen, das item_purchase enthält und Daten zu Produktkäufen als externen Schlüssel verknüpft.

Dieser Artikelkauf hat eine Benutzer-ID, die der Käufer ist, und eine Artikel-ID, die der gekaufte Artikel ist.

Wenn Sie den Artikel einfach löschen, wird in item_purchase ein Datensatz angezeigt, in dem nur item_id fehlt.

Wenn Sie einen Artikel löschen, beschreiben wir ihn daher, damit der zugehörige item_purchase-Datensatz selbst gelöscht werden kann.

Implementierung

Fügen wir zunächst der Modellzuordnung eine zusätzliche Beschreibung hinzu.

models/item.rb


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

models/item_purchase.rb


belongs_to :item, optional: true

Ich werde es hier nicht vorstellen, aber da der Benutzer auch verlinkt sein sollte, vergessen Sie nicht, dies auch zu beschreiben.

Danach können Sie die Destroy-Methode wie gewohnt im Controller definieren.

Recommended Posts

Implementierung der Löschfunktion (wenn Sie einen fremden Schlüssel haben)
Implementierung der Suchfunktion
Implementierung der Pagenationsfunktion
Implementierung der sequentiellen Suchfunktion
Implementierung einer ähnlichen Funktion (Ajax)
Implementierung der Bildvorschau
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Implementierung der Bildvorschau
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
Implementierung einer ähnlichen Funktion in Java
Implementierung der Benutzerauthentifizierungsfunktion mit devise (1)
Rails [Für Anfänger] Implementierung der Kommentarfunktion
Implementierung der Benutzerauthentifizierungsfunktion mit devise (3)
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
Benötigen Sie eine speicherbewusste Implementierung von Java?
[JQuery] Implementierungsverfahren der AutoComplete-Funktion [Java / Spring]
Implementierung der Suchfunktion Lernnotiz (Portfolioerstellung)
Wir haben verschiedene Implementierungsmethoden von Singleton gesammelt.
Implementierung der DM-Funktion
Wenn Sie an der Position von Gem einen Fehler gemacht haben, löschen Sie Gemfile.lock einmal.
Wenn Sie es leid sind, ER-Diagramme zu zeichnen
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der "Seed Edition" der Vorfahren