【发布时间】:2021-12-24 15:33:02
【问题描述】:
我正在尝试使此链接正常工作,执行DELETE 请求:
<%= link_to "Sign Out", destroy_user_session_path, method: :delete %>
但是当我点击它时,我的浏览器仍然执行GET 请求(由于显而易见的原因而失败):
我已经阅读了多个其他论坛帖子,这可能与未包含 jquery 有关。他们提到你需要取消注释app/javascript/application.js 中的一行,但是我的很空:
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
import "@hotwired/turbo-rails"
import "controllers"
这些论坛帖子也很旧,所以我怀疑在此期间发生了一些变化。
【问题讨论】:
-
我没用过hotwired,但是把
method: :delete改成data: { turbo_method: :delete }有用吗? -
是的,这对我有用,谢谢 :) 只有一件奇怪的事情:一旦执行了 DELETE 请求,我的浏览器就会被重定向(根据需要),但不是执行正常的 GET,而是执行另一个DELETE(在我的情况下是“/”)。用户没有注意到它,它只是显示在网络控制台中。
-
检查这个 github 问题,特别是这个comment 也许destroy_user_session_path 并且不指定删除方法会触发两次请求......
标签: ruby-on-rails devise