ruby-on-rails - link_to delete 方法将我带到 Rails 上的“显示”页面
问题描述
我是 Rails 新手,似乎无法弄清楚
每次我单击链接时,它都不会删除文章,只会将我带到显示视图。不知道为什么会这样。这是我的链接代码:
<%= link_to 'delete', article_path(article.id), method: :delete, data: { confirm: "Are you sure?" } %>
即使我指定了方法(我认为),我的 rails 服务器也会显示 GET 请求:
Started GET "/articles/1" for ::1 at 2020-09-07 10:05:13 -0700
Processing by ArticlesController#show as HTML
Parameters: {"id"=>"1"}
Article Load (0.7ms) SELECT "articles".* FROM "articles" WHERE "articles"."id" = ? LIMIT ?
[["id", 1], ["LIMIT", 1]]
↳ app/controllers/articles_controller.rb:46:in `set_article'
Rendering articles/show.html.erb within layouts/application
Rendered articles/show.html.erb within layouts/application (Duration: 4.0ms | Allocations: 321)
[Webpacker] Everything's up-to-date. Nothing to do
Rendered layouts/_flashMessages.erb (Duration: 0.2ms | Allocations: 18)
Rendered layouts/_navBar.html.erb (Duration: 0.1ms | Allocations: 5)
Completed 200 OK in 123ms (Views: 96.9ms | ActiveRecord: 0.7ms | Allocations: 5344)
我不知道为什么。任何帮助表示赞赏。谢谢!
解决方案
我在 Rails 6 中遇到了同样的问题。似乎错误版本的 jquery 可能会导致这种情况。如果您安装了错误的 jquery 版本,@rails/ujs 会以某种方式停止正常工作。
如果您的代码中没有错误,您可以尝试通过删除 jquery gem 并通过 yarn 添加 jquery 来修复它(我关于这个主题的问题)
推荐阅读
- python - PHP调用python脚本但不返回结果
- python - AttributeError: 'SimpleImputer' 对象没有属性 'mean'
- ios - 在弹出视图控制器快速故事板解除后更新 tableView
- linux-kernel - 为什么 `native_write_msr` 支配我的分析结果?
- cmake - cmake,将外部程序的结果作为预处理器定义传递
- c - 在 printf 中使用“%e”时是否需要使用“.6”精度说明符?
- python - 在 Python 的袖扣中使用带有键的列表以获得最佳拟合线
- ios - SwiftUI DragGesture onEnded 在某些情况下不会触发
- c# - 减少 C# 中的 Foreach 循环
- javascript - React native 需要一个字符串(用于内置组件)或一个类/函数(用于复合组件),但得到:object