Le traitement Ajax ne fonctionne pas bien lors de la création d'un portefeuille et de l'implémentation de likes en utilisant Ajax Cet article 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 Je l'ai lu et résolu. Mais, Comme vous pouvez le voir dans cet article
<%= button_to question_like_path(question, id: question.likes[0].id), class:"btn btn-primary like", method: :delete , remote:true do %>
Je n'ai pas compris pourquoi l'action de destruction qui efface mes goûts fonctionne avec ce code
(Id: question.likes [0] .id
effacera le 0ème like des likes liés à la question sans question et réponse, donc je ne peux pas garantir que j'effacerai mon like? T)
Je me suis tordu la tête et je l'ai compris, alors je vais le laisser comme un mémorandum.
Parce que les éléments similaires à supprimer du côté de l'action de destruction sont trouvés par l'utilisateur actuel
def destroy
@like = @question.likes.find_by(user_id: current_user.id)
@like.destroy
#Root pour le moment jusqu'à ce qu'Ajax soit implémenté plus tard
respond_to do |format|
format.html { redirect_to @like.question || root_url}
format.js
end
end
question_like_path
Bien que la question et aiment être supprimés soient obligatoires comme arguments
Si vous ne spécifiez pas comme, vous ne pouvez pas générer une URL, donc aime [0] est utilisé à la place.
Cependant, l'utilisateur favori à supprimer utilise la méthode
current_user```.
Cela n'a pas d'importance ici car il est acquis par find_by dans l'action de destruction.
J'ai été trompé par l'apparence. .. ..
Recommended Posts