рельсы 5 API, как исправить ответ проверки? - PullRequest
0 голосов
/ 14 сентября 2018

на скриншоте, как вы можете видеть, ответ проверки приходит с этим исключением и трассировкой. Я искал пиратски весь Интернет, поэтому правильно отображал сообщение об ошибке и статус, и я не нашел ничего, что могло бы его исправить.

самое близкое, что я достиг, - это использование сериализатора модели, но проблема сохраняется.

def create
    @user = User.create!(user_params)


    if @user.save

      render json: @user.auth_token, status: 201

    else

      render_json_validation_error @user




    end
  end

здесь код:

def render_json_validation_error(resource)
    render json: resource, status: 422,  
    serializer: ActiveModel::Serializer::ErrorSerializer

 end

у кого-то нет идеи, как убрать этот след и исключение?

enter image description here

1 Ответ

0 голосов
/ 14 сентября 2018

Думаю, проблема в использовании create!.Если вы добавите ! и проверка не удастся, возникнет ошибка с обратным следом.Попробуйте удалить create! и вместо этого используйте create или new, так как это больше подходит для вашего варианта использования.Обычно вы инициируете экземпляр модели, затем пытаетесь .save его и, как только save возвращает false, вы выводите сообщения об ошибках проверки:

def create
    @user = User.new(user_params)

    if @user.save
      render json: @user.auth_token, status: 201
    else
      render_json_validation_error @user
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...