所以我有这样的事情:
class Account < ActiveRecord::Base
validate :check_credit
belongs_to :user
private
def check_credit
check = HTTParty.get(CREDIT_URL, query: {account_id: id})
if !check.eligible
user.update_attributes(:xx => xx)
errors.add(:base, "Sorry, you are not eligible")
end
end
end
当我查看日志时,user.update_attributes(:xx => xx)
似乎启动然后回滚,我认为这是因为我添加了一个错误,但我不确定为什么这是一个问题,因为该更新与验证无关并且即使存在也应该执行验证错误。
有什么办法可以解决这个问题?