#ruby-on-rails-3 #forms
#ruby-on-rails-3 #формы
Вопрос:
Есть ли способ добавить сообщения об ошибках в атрибут и отобразить их в форме, не пытаясь сохранить объект.
Менеджер может пожелать изменить адрес электронной почты пользователя, назначенного проекту.
Если они меняют адрес электронной почты на адрес другого пользователя, который уже назначен проекту, я хочу добавить ошибку в атрибут электронной почты пользователя и отобразить ее.
В этом случае я бы не стал сохранять запись или обновлять ее, я бы просто вернулся к форме и показал ошибку.
Я просто делаю
@user.add(:email, "This user is already assigned to this project")
Я не запускаю @user.save или @user.update_attribute, в этом случае этот пользователь не обновляется, а назначается проекту.
Я не просто хочу показывать флэш-сообщение, поскольку знаю, что могу это сделать. Я хочу, чтобы в поле отображалась ошибка.
Возможно ли это?
Ответ №1:
Конечно, вызовите valid?
модель.
Комментарии:
1. Привет, Дейв, хотел бы это сделать. Однако при проверке моей модели я не знаю, как проверить, назначен ли пользователь проекту. Модель проекта является отдельной.
2. Есть несколько способов, в зависимости от того, как вы их связали. Вы могли бы просто посмотреть вручную, проверить наличие действительного идентификатора проекта у пользователя и т.д.