Используется валидация длины (а соответственно и существования) пароля для формы в Rails. Необходимо в форме регистрации эту валидацию выполнять, а при редактировании данных, если пароль пустой, оставлять тот, что был в БД. Как реализовать?
В Rails я новичок.
Примечание:
Вернее, даже не так... Валидация прописана не для формы, а для модели user.rb.
Примечание:
Alexander Koretsky, примерно такой трюк я уже пробовал, жалуется на незаполненное поле пароля. Плюс к тому, используется проверка поля password_confirmation, то есть пароль нужно вводить 2 раза. Вся проверка сводится к записи в модели user.rb:
validates :password, :confirmation => true,
:length => { :within => 6..40 }
Всю эту штуковину я делал по мануалу
http://russian.railstutorial.org.
Вот теперь думаю, как исправить под свои нужды... А нужно, чтобы при регистрации проверка ввода пароля была, а при редактировании данных пользователя была проверка только :confirmation, если пароль не пустой, а если пустой, то просто не изменять его зашифрованное значение в базе. Пробовал делать через except, но строки в модели user.rb все портят, и метод в контроллере работает, но модель его зверски обламывает.
Примечание:
Вопрос решил, о решении отписался здесь:
http://otvety.google.ru/otvety/thread?tid=713e0d2637b4cad8
Примечание:
Антон Витальевич, спасибо Вам еще раз за помощь. Прошлый вопрос (в котором Вы и ответили) я создал без назначения баллов, поэтому открывал второй, с баллами) На Вас его и закрою)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.