Slide 5
Slide 5 text
֘ͷιʔείʔυʢΠϝʔδʣ
def index
…
ActiveRecord::Base.transaciton do
order = Order.find(params[:order_id])
item = Item.lock.find(order.item_id)
return … if payment_finished?(order, item)
…
Settlement.create(…)
item.paid
end
end
def payment_finished?(order, item)
settlement = Settlement.find_by(order_id: order.id)
settlement.present? && item.paid?
end