cidr blocks
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to articles_path
end
教程页面中的注释:
在这里,我们以另一种方式使用<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
。我们将命名路由作为第二个参数,然后将选项作为另一个参数。 link_to
和:method
选项用作HTML5属性,以便在单击链接时,Rails将首先向用户显示一个确认对话框,然后使用方法'data-confirm'
提交链接。
每当我单击删除按钮时,它都会显示编辑结果
答案 0 :(得分:1)
要获取更有用的异常,您可以做的一件事是在!
方法中添加一个爆炸destroy
,如果销毁失败,它将引发异常。
有可能某些关联验证失败或回调引发了您未看到的异常。单击链接后,尝试使用此方法作为销毁方法并查看服务器日志:
def destroy
@article = Article.find(params[:id])
@article.destroy!
redirect_to articles_path
end
如果您在服务器日志中没有看到任何内容,则可能是路由问题
答案 1 :(得分:0)
您的破坏行为的控制器代码以及删除链接的视图代码看起来不错,然后在为了确切地找出无法正常工作的原因,请执行一件事,只需打开控制台,然后尝试手动破坏销毁的物品即可,如NM Pennypacker上面建议的那样。
Article.find(1).destroy!
答案 2 :(得分:0)
最初我很少感到困惑(因为我使用的是较低版本的rails),后来发现并阅读了this article
这将清除您对其他方法以及destroy!