que tienen un modelo de usuario establecido como tal:¿Cómo deshabilitar las validaciones de contraseña/confirmación cuando se usa has_secure_password en Rails 3.2?
class User < ActiveRecord::Base
has_secure_password
# callbacks -------------------------------------------------------------------------
before_create { generate_token(:auth_token) }
# setup accessible (or protected) attributes for your model and validation ----------
attr_accessible :email, :password, :password_confirmation
# validations
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email , presence: true,
uniqueness: { case_sensitive: false },
format: { with: VALID_EMAIL_REGEX }
validates :password , length: { minimum: 6 }
validates :password_confirmation, presence: true
Pero no quiero la contraseña y/o validaciones password_confirmation se ejecuten cuando se actualiza el usuario menos que el usuario está intentando cambiar su contraseña.
Por lo tanto, si el usuario actualiza su información en un formulario sin especificar una contraseña y/o confirmación, debería tener éxito. Si el usuario actualiza su información e incluye una contraseña y/o confirmación, se ejecutarán las validaciones .
¿Cuál es la mejor manera de lograr esto?
Puede también actualiza los atributos usando @ user.update_attributes ({}) o @ user.update_attribute: attr_name, value. – nverinaud