我在 Rails 中使用 Devise,在设置 sign_out 函数时遇到了错误。我注意到,它的发生是因为具有 sign_out 链接的页面跳过了布局,因此 Javascript 处于非事件状态。通过使用以下命令启用 javascript:`
<%= javascript_include_tag :defaults %>
一切正常。
为什么会这样?
最佳答案
链接(通常)总是收到请求。为了让链接发送非获取请求,您需要一些 javascript 来修改链接的行为。
此外,浏览器通常仅支持 GET/POST 请求,因此 Rails 通过向帖子添加 _method 字段来伪造其他方法(DELETE、PUT 等)。
关于javascript - 为什么 HTTP 删除需要 javascript 才能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896762/