Это не вопрос AuthLogic, этот код должен выполнить свою задачу:
class User < ActiveRecord::Base
...
def update_without_password_confirmation(params={})
params.delete(:password) if params[:password_confirmation].blank?
params.delete(:password_confirmation) if params[:password].blank?
update_attributes(params)
end
end
и затем вызвать этот метод из контроллера, когда вам нужно обновить атрибуты в User.Если пользователь не указал password_confirmation, он будет проигнорирован.Вы можете использовать несколько других методов, чтобы получить тот же эффект, например, используя обратный вызов before_validation (: on =>: update).
UPDATE: если вы хотите вообще пропустить проверку пароля, act_as_authentic принимает блок длянастроить его поведение:
clas User < AR::Base
acts_as_authentic do |u|
u.require_password_confirmation=false # you can also use :if => some_condition
u.validate_password_field=false
end
end
это немного недокументировано: P проверьте этот файл: https://github.com/binarylogic/authlogic/blob/master/lib/authlogic/acts_as_authentic/password.rb