All threads / Atomic Updates And Performance with ActiveRecord Transactions Discussion

Ask A Question

Notifications

You’re not receiving notifications from this thread.

Atomic Updates And Performance with ActiveRecord Transactions Discussion

Reply

sally.transfer(bob, 10000), it is not rollback!

why?

class Account < ApplicationRecord
validates :balance, numericality:{ greater_than: 0}

def withdraw(amount)
update(balance: balance - amount)
end

def deposit(amount)
update(balance: balance + amount)
end

def transfer(recipient, amount)
transaction do
withdraw(amount)
recipient.deposit(amount)
end
end
end

must use save! or update!

def withdraw(amount)
update!(balance: balance - amount)
end

def deposit(amount)
update!(balance: balance + amount)
end

Speed of bulk work operation improves with time and practice as well. The https://www.assignmentmasters.co.uk/ also giving training to the new people so they learn about it.

Reply
Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 49,439+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

    © 2021 GoRails, LLC. All rights reserved.