尝试更新current_user
但是在递减计数器属性并获得验证错误后无法保存,最小密码长度为6个字符 -
current_user.crawl_counter -= 1
current_user.save!
更新
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me, :crawl_counter
PASSWORD_REGEX = /^[a-zA-Z\d]*$/
validates :password, format: { with: PASSWORD_REGEX, :message => I18n.t('errors.messages.password_invalid') }
end
答案 0 :(得分:4)
当您保存用户时,设计通常会检查密码是否正确并与password_confirmation匹配。密码显然不存储在会话对象中。
您可以跳过验证:
current_user.save(validate: false)
哪个不会检查密码并保存确定。这仅在您不想验证爬网计数器字段
时才有效