【问题标题】:Error: link_to delete redirecting to show action instead of going to destroy action in rails 3.1.1错误:link_to 删除重定向以显示操作,而不是在 rails 3.1.1 中销毁操作
【发布时间】:2023-03-17 00:35:01
【问题描述】:

link_to 删除重定向以显示操作,而不是在 rails 3.1.1 中销毁操作

这是我的代码

查看:-

:删除, :confirm => "你确定..!", :alt => "删除", :title => "删除" %>

控制器:-

默认销毁 @industry = Industry.find(params[:id]) 如果@industry.destroy flash[:notice] = "已成功删除名称为 #{@industry.name} 的行业" 别的 " flash[:error] = "删除行业时出错。请重试。" 结尾 重定向到行业路径
结束

【问题讨论】:

  • 给出route.rb的代码和那个link_to代码。
  • 这里是查看代码 :delete, :confirm => "Are you sure..!", :alt => "删除", :title => "删除" %>
  • 请同时提供路由信息。您可以使用(从终端)$ CONTROLLER=controller_name rake routes 列出路由。

标签: ruby-on-rails ruby-on-rails-3.1


【解决方案1】:

您是否加载了默认的 JavaScript 库?

如果不是,这就是原因 - 您不能通过浏览器发送 DELETE 请求,因为它不受支持 - 所以当单击删除链接时,Rails 会自动创建一个表单并以这种方式发送。但它是用 JS 做的,所以如果它没有加载,你什么也得不到。

【讨论】:

  • 嗨,Stephen,我使用的是 rails 3.1.1,因为它没有任何默认的 javascript 文件。我尝试在 app/assets/javascripts 中包含 rails.js 文件,在 layouts/application.html.erb 中也包含
【解决方案2】:

检查以下代码,如果路线有

DELETE  /industry/:id   destroy .

然后

<%= link_to 'Destroy', industry, confirm: 'Are you sure?',
                                     method: :delete %>

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 2012-03-14
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 2017-09-05
    • 2022-07-10
    • 1970-01-01
    相关资源
    最近更新 更多