обновить пользователя attr, запрашивая ruby ​​за его пароль - PullRequest
0 голосов
/ 11 февраля 2012

почему каждый раз, когда я извлекаю существующего пользователя и пытаюсь обновить его электронную почту, ruby ​​выдает исключение, запрашивая его пароль.

кто-нибудь получил такую ​​же проблему?

UserModel

    attr_accessible   :nome, :sobrenome, :email, :email_confirmation, :password, :password_confirmation, :genero,
                    :endereco, :numero, :bairro, :complemento, :cidade, :estado, :cep



  has_secure_password

  before_create {generate_token(:auth_token)}

  attr_accessor :password
 email_regex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i



  validates_presence_of :nome, :sobrenome, :genero, :email, :password, :on => :create 


  validates :email, :format => {:with => email_regex},
                    :uniqueness => {:case_sensitive => false }


  validates :password, :length => {:within=> 6..60},
                       :confirmation => true


  validates :email, :confirmation => true,
                    :on => :update

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вот как я справился с этой проблемой.

validates_presence_of :password,  :on => :create

 validates :password, :length => {:within=> 6..60},
                       :confirmation => true,
                       :if => :is_password_validation_needed?

private 

       def is_password_validation_needed? 
         new_record? || password
       end 
1 голос
/ 11 февраля 2012

Вы явно требуете пароль при обновлении:

 validates :password,
           :presence => true,
           :on => :update,

Ваши правила написаны плохо.примите несколько советов здесь: http://railscasts.com/episodes/250-authentication-from-scratch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...