# - PullRequest
       61

#

0 голосов
/ 19 декабря 2018

Получил много ответов, но так и не смог найти решение.Я пытался получить успешный ответ на запрос POST к следующему контроллеру,

def create
@user = User.new(user_params)

if @user.save
  render json: @user, status: :created, location: @user
else
  render json: @user.errors, status: :unprocessable_entity
end


private
 def user_params
  params.require(:user).permit(:name, :email, :phone, :password)
end
end

Хотя я отправляю все параметры, упомянутые в запросе, я все еще сталкиваюсь с ошибкой.

"status": 400,
"error": "Bad Request",
"exception": "#<ActionController::ParameterMissing: param is missing or the value is empty: user>"

Я использую рельсы версии 5.2.1

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Это сработало для меня.Я сделал только один хэш в методе params вместо вложенного хеша.мой метод user_params был: -

def user_params params.permit (: имя,: электронная почта,: телефон,: пароль) end

ИЛИ Вы можете использовать свой метод, но ваш параметр передан в хеш пользователякак показано ниже.

{пользователь: {имя: "bittu", электронная почта: "abc@yopmail.com", фома: 123456, пароль: "123456"}}

0 голосов
/ 19 декабря 2018

Если вы посмотрите журналы, как будут выглядеть данные, переданные в вашем почтовом запросе?

Когда вы получаете такой тип ошибки, часто это происходит потому, что вы отправляете данные следующим образом:

{ first_name: 'John', last_name: 'Doe', ...}

Когда сервер ожидает, что вы вложите его в объект user (отсюда require(:user) in your strong_params:

{ user: { first_name: 'John', ... } }
...