Die Ajax-Verarbeitung funktioniert nicht gut, wenn Sie ein Portfolio erstellen und Likes mit Ajax implementieren Dieser Beitrag https://qiita.com/naota7118/items/e009eff939b5a764672d#%E4%BB%8A%E5%9B%9E%E8%8B%A6%E5%8A%B4%E3%81%97%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D Ich habe es gelesen und gelöst. Aber, Wie Sie in diesem Artikel sehen können
<%= button_to question_like_path(question, id: question.likes[0].id), class:"btn btn-primary like", method: :delete , remote:true do %>
Ich habe nicht verstanden, warum die Zerstörungsaktion, die meine Likes löscht, mit diesem Code funktioniert (`` `id: question.likes [0] .id``` löscht das 0. Like von Likes, die mit der Frage verknüpft sind, ohne Frage und Antwort, sodass ich nicht garantieren kann, mein Like zu löschen? T)
Ich drehte meinen Kopf und verstand es, also werde ich es als Memorandum belassen.
Weil das Gleiche, das auf der Seite der Zerstörungsaktion gelöscht werden soll, mit current_user gefunden wird
def destroy
@like = @question.likes.find_by(user_id: current_user.id)
@like.destroy
#Root vorerst, bis Ajax später implementiert wird
respond_to do |format|
format.html { redirect_to @like.question || root_url}
format.js
end
end
question_like_path
Obwohl die Frage und gerne gelöscht werden, sind als Argumente erforderlich
Wenn Sie "Gefällt mir" nicht angeben, können Sie keine URL generieren. Daher wird stattdessen "Gefällt mir" [0] verwendet.
Der zu löschende Lieblingsbenutzer verwendet jedoch die Methode `` `current_user```.
Dies ist hier irrelevant, da es von find_by in der Zerstörungsaktion erfasst wird.
Das Aussehen hat mich getäuscht. .. ..
Recommended Posts