Я использую devise в рельсах как свою пользовательскую систему.
У меня есть несколько дополнительных полей при регистрации, например - :first_name
, а также адрес электронной почты и пароль.
Я использую devise_parameter_sanitizer
в контроллере приложения и позволяю сохранить :first_name
. Это все работает правильно, и пользователь может зарегистрироваться со всеми дополнительными полями.
Однако у меня есть проблема, когда форма недействительна (например, пароль и подтверждение пароля не совпадают), пользователь отправляет форму с заполненным полем первого имени. Когда неверная форма возвращает данные полей первого имени был потерян.
Как мне сделать так, чтобы devise оставлял эти дополнительные поля регистрации заполненными после неверной отправки, в противном случае пользователь должен будет повторно вводить данные.
Спасибо.
Редактировать - все заботятся о контроллере. И форма - та, которая идет с разработкой плюс некоторые дополнительные поля. Я добавил это в контроллер приложения в качестве действия перед сохранением дополнительных параметров:
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up) do |u|
u.permit(
:email, :password, :first_name
)
end
end
Вид такой же, как у разработанного, но с дополнительными входами. Дополнительные поля сохраняются нормально, они просто стираются при возвращении неверного значения, как указано выше. Еще раз спасибо.