Die Methode destroy funktioniert nicht, aber ich werde auf die Indexseite umgeleitet, aber der Datensatz wird nicht gelöscht.Warum funktioniert die Methode delete nicht in Ruby?
HTML.erb Link:
<%= link_to "Delete", posts_path(@post), method: :delete, data: {confirm: 'are you sure?'},:class => 'btn btn-danger' %>
Controller:
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
Seitliche Anmerkung: Verwenden Sie zwei Leerzeichen zum Einrücken. –
'link_to" Delete ", post_path (@post)' oder nur 'link_to" Delete ", @ post' Die Verwendung von' method:: delete' basiert auf Javascript ('jquery-ujs' ist präzise). Wenn die Anforderung als GET gesendet wird (überprüfen Sie die Protokolle), müssen Sie die Browser-Konsole auf JavaScript-Fehler prüfen. Sie können auch 'button_zu" Löschen ", @ post' verwenden, was ein Formular erstellt und nicht auf Javascript basiert. – max
Können Sie Ihr Serverprotokoll veröffentlichen, wenn Sie auf diesen Link klicken. Außerdem sollte es 'post_path (@post)' – Abhi