Javascript Rails没有解析\u方法和真实性\u令牌表单数据域

Javascript Rails没有解析\u方法和真实性\u令牌表单数据域,javascript,ruby-on-rails,axios,Javascript,Ruby On Rails,Axios,我正在使用axios发送请求,我当前的任务是发送删除用户的请求。所以我做了一个按钮和一个函数,点击就会触发 sendRequest(e) { const token = document.querySelector("meta[name=csrf-token]").getAttribute('content'); axios.post('/users/2', { _method: 'DELETE', authenticity_token: token,

我正在使用axios发送请求,我当前的任务是发送删除用户的请求。所以我做了一个按钮和一个函数,点击就会触发

 sendRequest(e) {
    const token = document.querySelector("meta[name=csrf-token]").getAttribute('content');

    axios.post('/users/2', {
      _method: 'DELETE',
      authenticity_token: token,
    }).then(response => {
      console.log(response)
    });

}
根据rails文档:

在分析发布的数据时,Rails将考虑特殊的 _方法参数,并将HTTP方法视为其中指定的方法(本例中为“删除”)

但在发送请求后,控制台中出现了一个错误:

ActionController::RoutingError(没有与[POST]匹配的路由“/users/2”):

UPD 1:

刚刚尝试了简单的$.ajax请求:

const token = document.querySelector("meta[name=csrf-token]").getAttribute('content');

$.ajax({
  method: "POST",
  url: "/users/2.json",
  data: { _method: "delete", authenticity_token: token }
})
 .done(function( msg ) {
   alert( "Data Saved: " + msg );
 })

而且效果很好。axios post和ajax post请求之间有什么区别,这样rails就不会解析axios
\u方法
字段了?

为什么不使用
axios.delete
?@artgb使用axios.delete时也一样,但是使用了Authentity\u标记。但无论如何,我想弄清楚为什么它不能与post请求和_方法字段一起工作。也许我遗漏了什么?你为什么不使用
axios.delete
?@artgb使用axios.delete时也一样,但带有Authentity\u标记。但无论如何,我想弄清楚为什么它不能与post请求和_方法字段一起工作。也许我错过了什么?