ruby-on-rails - 为什么 ruby 破坏方法不破坏?(见下文)
问题描述
我的控制器
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
以不同的方式使用。我们将命名路由作为第二个参数传递,然后将选项作为另一个参数传递。和选项用作 HTML5 属性,因此当单击链接时,Rails 将首先向用户显示一个确认对话框,然后使用方法提交:method
链接。'data-confirm'
delete
每当我单击删除按钮时,它都会显示编辑结果
解决方案
要获得更有用的异常,您可以做的一件事是!
在您的destroy
方法中添加一个 bang,如果销毁失败,它将引发异常。
可能有一些失败的关联验证或回调引发了您没有看到的异常。尝试将其用于您的销毁方法并在单击链接后查看您的服务器日志:
def destroy
@article = Article.find(params[:id])
@article.destroy!
redirect_to articles_path
end
如果您在服务器日志中没有看到任何内容,则可能是路由问题
推荐阅读
- python-3.x - 调用事件处理函数 Python3
- python - 根据另一个整数列表中的重复项更新整数列表的最快方法
- android - 使用 Jacoco 生成覆盖文件的 HTML 报告?
- google-bigquery - BigQuery 数组 UNNEST 以返回数组中的不同值?
- c# - 带有 id 参数的 ASP.net Web 表单中的路由
- python-3.x - Django:无法访问此站点:localhost 拒绝连接
- python - 将 python 文件作为模块从另一个 python 文件导入
- hash - 有人可以详细说明其公钥和签名包含在区块链的交易中吗?
- excel - VBA excel中的千位和小数分隔符
- postgresql - 从两个时间戳获取小时和分钟的函数