В нынешнем виде этот ответ слабый. Можете ли вы объяснить, чем этот ответ отличается или предпочтительнее других?
у меня есть интересные требования для проверки пароля:
Когда пользователь регистрируется, я хочу, чтобы он ввел пароль, подтвердил и был между6..40
(ПОЛУЧИЛ ЭТУ РАБОТУ 100%)
Когда пользователь обновляет свой профиль, применяются те же правила проверки (ПОЛУЧИЛ ЭТУ РАБОТУ 100%)
Когда администратор добавляет пользователя, он должен ввести пароль только один раз, и он должен быть проверен (НЕ РАБОТАЕТ)
Когда администратор редактирует пользователя и поле пароля пустое, он не должен обновлять пароль, если он что-то вводит, его следует проверить. (ЧАСТИЧНАЯ РАБОТА)
validates :password, :presence => true,
:confirmation => true,
:length => {:within => 6..40},
:unless => :force_submit
Единственные случаи, которые я не могу охватить, это когда администратор добавляет пользователя, он не проверяется, а когда администратор редактирует пользователя (и вводит пароль), он не проверяется.
:force_submit
передается из формы администратора, поэтому пароль не подтвержден. (Так работает случай обновления пустого пароля)
Любые идеи / магия?