【问题标题】:How to delete the data in Ruby on rails CRUD operation如何在 Ruby on rails CRUD 操作中删除数据
【发布时间】:2016-03-22 17:23:52
【问题描述】:

如何删除 Ruby on rails 中的数据。我是 ruby​​ on rails 的新手,我正在关注https://guides.rubyonrails.org/getting_started.html 上的教程 但是删除操作不起作用,它会重定向到文章。 文章控制者:

def destroy
  @article = Article.find(params[:id])
  @article.destroy

  redirect_to article_path
end

索引页面:

<%= link_to 'Destroy', article_path(article),
             method: :delete,
             data: { confirm: 'Are You sure?' } %>

我正在使用 ruby​​ 版本 2.2.4-p230 和 rails 版本 4.2.6 和 mysql 数据库。

【问题讨论】:

  • 数据库中的记录会被删除吗?
  • 当您说重定向到文章时,您是指您要删除的文章的文章显示方法吗?
  • 我认为您的 link_to 会将您带到 show 操作而不是 destroy 操作。为了确认这一点,您可以检查您的服务器日志。另一个问题,你是在 Windows 机器上尝试这个吗??
  • @Meshpi 是的,它重定向以显示我要删除的文章的方法
  • 你能检查你的 routes.rb 文件看它是否有'resources :articles'吗?

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


【解决方案1】:

修正错字..

<%= link_to 'Destroy', article_path(article),
             method: :delete,
             data: { confirm: 'Are You sure?' } %>

【讨论】:

  • 是的,我试过了,我可以更新并插入新记录,但我无法删除它
  • 它没有给出任何错误。它只是重定向到我要删除的文章的显示页面。
  • 是的,您可以看到索引页面中仍然存在数据。它被重定向是因为您调用了redirect_to article_path。它在这里运行代码。
【解决方案2】:

嗯,代码看起来正确。这可能是 application.js 中的 JavaScript 问题 只需安装 node.js 或更新(如果已安装)。然后重新启动服务器。如果错误在 JavaScript 中,它将解决问题。

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多