rails 5.2 如何在控制器中获取表单数据值

dev*_*mrh 6 ruby ruby-on-rails ruby-on-rails-5

我有一个简单的 HTML 表单,我正在使用 Fetch API 和 FormData 向我的服务器发送一些数据。

我要送role,并user_id与他们的价值观到服务器。在控制器中打印时params我得到:

{"-----------------------------1190833731009709688837505639\r\nContent-Disposition: form-data; name"=>"\"角色\"\r\n\r\nadmin\r\n----------------------------1190833731009709688837505639\r\n内容-处置:form-data; name=\"user_id\"\r\n\r\n1\r\n------------------------ ----1190833731009709688837505639--\r\n", "controller"=>"users", "action"=>"updaterole", "id"=>"1"}

如何访问和获取roleuser_id值从这个?

这是我在客户端的脚本:

var form = document.querySelector("#roleForm");
var formdata = new FormData(form);

fetch(url, {
    method: "PATCH",
    headers: { 'Content-Type':'multipart/form-data' },
    body: formdata,
}).then(
    response => response.text() // .json(), etc.
    // same as function(response) {return response.text();}
).then(
    html => {
        console.log(html)
    }
);
Run Code Online (Sandbox Code Playgroud)

dev*_*mrh 2

就我而言,评论中已经提到了,我们的正文不正确。我通过删除 headers: { 'Content-Type':'multipart/form-data' },表单获取请求解决了这个问题。看起来我们不需要将 Content-Type 添加到标头。无论如何我的问题已经解决了。