Ошибки валидации DataMapper в скобках

Я использую проверки DataMapper, но не могу получить текст сообщения об ошибке:(

Я старался:

@error = user.errors.first
@error = user.errors.full_messages.first
@error = user.errors.full_messages.flatten
@error = user.errors[0]

Но все равно я получаю массив:(

У меня в шаблоне есть

- if @error
  %p.lead= @error

И я получаю ["This username is taken"]

Если у меня есть

- if @error
  - @error.each do |er|
    %p.lead= er

это работает, но не существует способа отправить только строку в шаблон и работать с %p = @error?

1 ответ

Решение

Если @error это массив, который, кажется, то, как он будет отображаться.

Что вы, вероятно, хотите, это:

@error = user.errors.full_messages.flatten.join(', ')

Нечто подобное свернет его в строку. flatten возвращает массив.

Другие вопросы по тегам