为什么红宝石破坏方法没有破坏? (见下文)

时间:2019-01-02 14:56:14

标签: ruby-on-rails ruby ruby-on-rails-4

我的控制器

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'提交链接。

每当我单击删除按钮时,它都会显示编辑结果

strong text

3 个答案:

答案 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!

的想法