выводить сообщения об ошибках без скобок в rails api - PullRequest
0 голосов
/ 13 февраля 2019
render( json: UserSerializer.response_error(current_user.errors.messages).to_json)

user_serializer.rb

class UserSerializer < ActiveModel::Serializer
  attributes :id, :name, :email

  def self.response_error(error)
     error
  end
end

Это дает ответ, как показано ниже:

[
"Password can't be blank"
]

Но мне нужно отобразить

"Password can't be blank"

Я пыталсяиспользовать "full_messages", но результат был тот же

1 Ответ

0 голосов
/ 06 марта 2019
def self.response_error(error)
  error.join(', ')
end

Вы можете сделать это так.Проблема в том, что это должен быть массив.Так как может быть несколько ошибок, таких как.

[
  "Email can't be blank",
  "Password can't be blank"
]

Это будет результатом с приведенным выше кодом в:

"Email can't be blank, Password can't be blank"

В общем случае с массивом проще работать в веб-интерфейсе независимо отодна или много ошибок.

Когда вы абсолютно уверены, что будет только одна ошибка, вы также можете сделать error.join(''), чтобы просто получить строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...