(Ruby on Rails6) Gepostete Inhalte "löschen"

Vorwort

Hier wird RubyonRails6 verwendet, um einen Vergessenheitsdatensatz aufzuzeichnen, der den veröffentlichten Inhalt bearbeitet (löscht) </ strong>. Im vorherigen Beitrag hat Bearbeitungsfunktion implementiert . Dort wird die Implementierung der Bearbeitungsfunktion aufgezeichnet. Wenn Sie sie überprüfen möchten, überprüfen Sie sie bitte dort.

"Löschen" Sie den geposteten Inhalt

Um diesen Beitrag zu implementieren, sollte Aktion </ strong> Daten löschen (klicken) / in Beitragsliste übertragen </ strong>.

Routeneinstellungen

Erstellen Sie eine Löschaktion </ strong> in Routen. Mit form /: id / delete </ strong> wird die URL der ID angegeben, die Sie löschen möchten. Wenn Sie die Datenbank ändern </ strong> möchten, setzen Sie sie mit "post" </ strong> anstelle von "get" auf Routen.

config/routes


・
・
・
post "form/:id/delete" => "form#delete"

Verknüpfung mit Ansicht

erb:app/views/Irgendein.html.erb


・
・
・
<%= link_to("Löschen", "/form/#{@post.id}/delete", {method: "post"}) %>

Ich verwende link_to </ strong>, um auf die gerade erstellte Löschaktion zu verlinken.

Hinweis: Unterschied zwischen get und post

Durch Hinzufügen von {method: "post"}) </ strong> können Sie es dem Post von Routen zuordnen. Es ist kompliziert !!

erb:app/views/Irgendein.html.erb


↓ Fehler in der Post
<%= link_to("Löschen", "/form/#{@forms.id}/delete") %>

↓ ist richtig
<%= link_to("Löschen", "/form/#{@forms.id}/delete", {method: "post"}) %>

Daten extrahieren und löschen

app/controllers/Irgendein.rb


  def delete
    @forms = Form.find_by(id: params[:id])
    @forms.destroy
    
    redirect_to("/")
  end

↑ Details

app/controllers/Irgendein.rb


  def delete
    # find_Holen Sie sich Daten mit der by-Methode
    @forms = Form.find_by(id: params[:id])
  end

app/controllers/Irgendein.rb


  def delete
    # @Tabellenname.Mit zerstören löschen
    @forms.destroy
  end

app/controllers/Irgendein.rb


  def delete
    # redirect_Stellen Sie die Umleitung mit auf Methode ein
    redirect_to("/")
  end

Wenn das oben genannte abgeschlossen ist und der Fehler nicht verärgert wird, sollte die Löschfunktion abgeschlossen sein. Wie war es?

Nachwort

Vielen Dank, dass Sie so weit gelesen haben.

Wenn die Buchungsfunktion jedoch erfolgreich gelöscht wurde, bin ich glücklich, aber traurig (Warum?). Ich habe die grundlegenden Funktionen zum Erstellen, Bearbeiten und Löschen der Datenbank implementiert. Ich möchte in Zukunft mehr über Sicherheit und detaillierte Funktionen erfahren. Referenzlink <a href = "https://www.amazon.co.jp/Ruby-Rails-%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3% 83% 89-impression-gear / dp / 4295008052 "target =" blank "> Ruby on Rails6 - Praktischer Leitfaden Mein Link

Es gibt auch einen Link auf Twitter / Portfolio. Wenn Sie also interessiert sind, Bitte verbinden. Ich würde mich sehr freuen, Freunde zu haben, mit denen ich mein Programmierlernen teilen kann.

Twitter Portfolio Github

Recommended Posts