2009-08-01 1 views
0

Мне нужно запустить встроенные проверки в поле входа до фактического создания пользовательской записи, есть ли способ сделать это в Authlogic? Причина заключается в том, когда пользователь вводит новый логин, AJAX вызывается для проверки и видит, что логин в уникальном, действительном и т. Д. Как только это будет сделано, пользователь может ввести свой адрес электронной почты, чтобы заявить о входе в систему, это 2-х шаг обработать.Аутентификация проверки подлинности при входе в систему перед созданием действия

ответ

1

Модель пользователя использует проверки ActiveRecord, поэтому это не относится к Authlogic. Если вы хотите запустить проверку на модели, вы можете позвонить user.valid?. Это вернет true или false в зависимости от того, действительна ли вся модель. Однако он также заполняет объект user.errors, поэтому вы можете проверить, действительно ли данный атрибут.

Вот код, который использует RJS для создания AJAX. Но вы можете использовать что угодно и организовывать его, как хотите.

user = User.new(params[:user]) 
user.valid? # we aren't interested in the output of this. 
error = user.errors.on(:login) 
if error 
    page.insert_html :before, "user_login", content_tag(:span, error, :class => "error_message") 
end 

Вы можете быть заинтересованы в моей Mastering Rails Forms скринкаст серии, где я покрываю эту тему во 2-м эпизоде.

+0

Спасибо, Райан, впоследствии я узнал, что Authlogic использует проверки ActiveRecord и в итоге использует плагин validate_attributes. Ваше предложение - отличная альтернатива, спасибо за обмен. – Bob

 Смежные вопросы

  • Нет связанных вопросов^_^