оптимистично сохранить сессию в authlogic - PullRequest
0 голосов
/ 22 августа 2010

Я пытаюсь создать функциональность, аналогичную этому gem authlogix-rpx, который оптимистично сохраняет объект сеанса / пользователя, даже если некоторые из проверенных полей отсутствуют.

http://github.com/tardate/authlogic_rpx/tree/master/lib/authlogic_rpx (строка 167)

С помощью этого драгоценного камня можно создать запись, которая не соответствует критериям валидации, а затем вызвать registration_complete? метод, который возвращает false, если все проверки не пройдены.

Я не уверен, как происходит это сохранение, в моем геме (который является дополнением к authlogic, использующему oauth2) я попытался сделать save (false), save_with_vaidation_false, но nothign действительно работает, проверки не пройдены, и запись получена Сохраненный.

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 25 августа 2010

Вы должны иметь возможность запустить user.save(false), чтобы сохранить пользователя, а затем использовать user.errors.full_messages для доступа к сообщениям об ошибках проверки.

Или вы можете предоставить параметр :on для ваших проверок, чтобы ограничить их.:create, :update или оба (:save)

validates_presence_of :email, :on=>:update
...