In Bezug auf die Löschfunktion des Überprüfungsmodells in Rails funktionierte es ursprünglich ohne Probleme, aber nach der Implementierung des Kommentarmodells ist ein Fehler aufgetreten. Ich werde es teilen, weil die Ursache geklärt wurde.
Ruby 2.6.5 Rails 6.0.3.3
Das Routing ist mit reveiw als übergeordnetem Element und comment als untergeordnetem Element verschachtelt.
config/routes.rb
resources :reviews do
resources :comments, only: [:create, :destroy]
end
Es wurde implementiert, damit die Überprüfung gelöscht wird. Bevor der Kommentar implementiert wurde, konnte er unverändert gelöscht werden.
views/reviews/show.html.erb
<%= link_to review_path(id: @review.id), method: :delete do %>
<div>Bewertung löschen</div>
<div>Sie können die Bewertung hier löschen.</div>
<% end %>
Da wir den Kommentar als untergeordnetes Element der Überprüfung implementiert haben, müssen wir ihn so implementieren, dass der Kommentar gleichzeitig mit dem Löschen der Überprüfung gelöscht wird. Ändern Sie daher models / review.rb wie folgt.
models/review.rb
has_many :comments
↓↓↓
models/review.rb
has_many :comments, dependent: :destroy
Die Implementierung der Löschfunktion ist hier abgeschlossen.
https://qiita.com/Tsh-43879562/items/fbc968453a7063776637
Recommended Posts