У меня есть модель пользователя, которая выглядит следующим образом:
class User < TwitterAuth::GenericUser
acts_as_authentic {|c|
c.login_field = :email
c.validate_email_field = false
c.validate_password_field = false
}
end
Используются плагины TwitterAuth и Authlogic.
Я хотел бы выборочно отключить проверки c.validate_email_field = false
в зависимости от того, использует ли пользователь твиттер для регистрации по обычной электронной почте.
- With email and password registration, the validations needs to be on.
-twitter does not have email or password fields, the validation needs to be off.
When I disable validation, the authLogic user registration using email and password fails:
unknown attribute: password_confirmation
I tried to selectively disable validation if attribute 'twitter_id' is present.
c.merge_validates_confirmation_of_password_field_options({:unless => :skip_password_validation?})
def skip_password_validation
!attribute_present?('twitter_id')
end
Это не работает, потому что атрибут 'twitter_id' существует в таблице User независимо от того, используется он или нет.
Как выборочно включить проверку электронной почты и пароля? i, e Включить проверку, только если она не использует Twitter oAuth.
спасибо за вашу помощь