だから私はこのようなものを持っています:
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)
してからロールバックするように見えます。エラーを追加したためだと思いましたが、その更新は検証に関連しておらず、存在しても実行する必要があるため、なぜ問題なのかわかりません検証エラー。
これを回避する方法はありますか?