Как я могу отделить error_messages от двух форм на одной странице? - PullRequest
0 голосов
/ 10 июня 2010

У меня есть две формы в одном представлении, обновляющие профиль пользователя. Одна форма предназначена для обновления моего имени и т. Д., А другая - для изменения моего пароля.

Форма профиля:

- form_for @user, :url => account_path do |f|
  = f.error_messages
  ...form fields here...

Форма пароля:

- form_for @user, :url => account_path do |pf|
  = pf.error_messages
  ...password fields here...

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

Как вывести отдельные сообщения об ошибках для формы?

1 Ответ

2 голосов
/ 10 июня 2010

Вам необходимо использовать error_message_on для вывода сообщения об ошибке для одного определенного атрибута.Имейте в виду, что его вывод сам по себе не очень значим, так как ему не хватает имени атрибута и сообщения заголовка, которое error_messages / error_messages_for включает по умолчанию.Вы можете использовать: prepend_text и: append_text для настройки сообщений (дополнительную информацию смотрите в документации по API).

Обратите внимание, что для части с паролем все, что вам нужно сделать, это вызвать error_message_on :password, ноВ остальных полях формы вы должны вызывать error_message_on один раз для каждого атрибута, кроме: пароля.Вы можете написать свой собственный помощник, чтобы избежать этого.

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