Rails问题:我的帖子会被删除,但我会不断收到一个ActiveRecord:RecordNotFound错误



因此,当我单击"删除"链接删除我所选的博客文章时,它会删除,但我会一直收到一个ActiveRecord::RecordNotFound in BlogsController#显示错误,上面写着"找不到'id'=19的博客。(或者不管那个博客的ID是什么)我不希望这个烦人的错误出现,但我无法找出问题所在。

这是我在blogs_controller.rb文件中要销毁的内容:

def destroy
 @blog = Blog.find(params[:id])
 @blog.destroy
 redirect_to blog_path(@blog)
end

这就是我在新的.html.erb文件中的内容:

<h1><%= @blog.title %></h1>
<p><%= @blog.body %></p>
<%= link_to "<< Back to Blogs List", blogs_path, class: "back_to" %>
<%= link_to "Delete", blog_path(@blog), data: { confirm: "Are you sure you    want to delete the blog?"}, method: :delete, class: "delete_link"  %>
<%= link_to "Edit", edit_blog_path(@blog), class: "edit_link" %>

有人知道问题出在哪里吗?

问题就在这里:

redirect_to blog_path(@blog)

您刚刚销毁了@blog对象,但您希望重定向到它?

你肯定会更好地使用:

def destroy
 @blog = Blog.find params[:id]
 @blog.destroy
 redirect_to blogs_path, notice: "Destroyed Blog #{@blog.id}"
end

相关内容

最新更新