前端请求到后端缺少参数

Parameter Missing from frontend request to backend

我目前收到此错误:

ActionController::ParameterMissing in UsersController#create
param is missing or the value is empty: first_name

我正在尝试使用我的 Rails 后端 API 创建用户记录。我正在使用像这样的强参数过滤请求

def create
  user = User.new(user_params)
  ...
end

def user_params
  params.require([:first_name, :last_name, :email, :password])
end

在我的前端,我正在发出这种类型的请求。我仔细检查以确保使用下面的剪接器,我尝试发送的对象是这样的:

数据:

{
  "first_name": "asdasd",
  "last_name": "asdasd",
  "email": "asdasd@gmail.com",
  "password": "password"
}

片段:

  const response = await fetch(url, {
    method: "POST",
    body: JSON.stringify({
      first_name,
      last_name,
      email,
      password,
    }),
  });

嘿代码对我来说看起来不错,但是我会尝试用 属性 headers

定义内容类型 json
  const response = await fetch(url, {
    method: "POST",
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      first_name,
      last_name,
      email,
      password,
    }),
  });

我对 fetch 还不是很熟悉,但是当你指定内容类型时,通常会有一些黑魔法在起作用