前端请求到后端缺少参数
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 还不是很熟悉,但是当你指定内容类型时,通常会有一些黑魔法在起作用
我目前收到此错误:
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 还不是很熟悉,但是当你指定内容类型时,通常会有一些黑魔法在起作用