Проверка подлинности запуска при входе в систему до создания действия - PullRequest
0 голосов
/ 01 августа 2009

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

1 Ответ

1 голос
/ 03 августа 2009

Модель User использует валидации 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

Возможно, вас заинтересуют мои серии экранов для мастеринга Rails , в которых я освещаю эту тему во втором эпизоде.

...