誰かが以下のコードを理解するのを手伝ってくれますか?
def self.with_optimistic_lock(attrs)
begin
payment = where(attrs).first_or_create
yield(payment)
payment.save!
rescue ActiveRecord::StaleObjectError, ActiveRecord::StatementInvalid, ActiveRecord::RecordInvalid => e
retry
end
end
attrs
パラメータのハッシュはどこにありますか。Post
から継承するクラスActiveRecord::Base
です。
これはhttps://github.com/fantgeass/rails-test-tasks/blob/master/app/models/payment.rbのコード スニペットです。