我创建了一个简单的删除方法,试图学习其余的路径。无论如何,所以如果我删除显示页面上的帖子它工作正常,但如果我回到索引页面,点击帖子,然后点击删除,它会抛出一个丢失的ID错误,但它仍然删除它无论如何。非常困惑:D
如果需要,我会发布更多代码,但我95%肯定问题就在这里。此外,我无法弄清楚宁静的路线重定向。
我有这个:
redirect_to blog_path(@blog)
这显然不对,所以我回到了我先学习的方式:
def destroy
@blog = Blog.find(params[:id])
@blog.destroy
redirect_to(:action => 'index')
end
答案 0 :(得分:0)
我假设您在删除博客后想要返回博客列表。
您可以使用重定向到索引路径
redirect_to blogs_path
您可以将destroy
方法编码为:
def destroy
begin
@blog = Blog.find(params[:id])
if @blog.destroy
redirect_to blogs_path, notice: 'Blog destroyed.'
else
redirect_to blog_path(@blog), alert: "Blog could not be destroyed."
end
rescue ActiveRecord::RecordNotFound
redirect_to blogs_path, alert: "Blog with id '#{params[:id]}' not found"
end
end