Transaction(Editing)
How about of transaction of rails
As other programming language has, rails has it too.
Block SQL statement
ActiveRecord::Base.transaction do Book.create(:title => 'A') Book.create(:title => 'B') Book.create(:title => '').authors.create(:last_name => 'X') end
Use ActiveRecord::Base class static method.
Example2
def transactiontest
Item.transaction do # Model
i1 = Item.new(name: 'iphone', category: 'apple', price: '800' date: '2014-10-12'])
i1.save!
raise 'Exception' # go rescue
i2 = Item.new(name: 'ipad', category: 'apple', price: '600' date: '2014-10-22'])
i2.save!
end
render text: 'successs'
rescue => e
render text :e.message
end
1 model base
Transaction Level
- :read_uncommited
- :read_commited
- :repeatable_read
- :serializable
How to set transaction level
Use isolation option
Item.transaction(isolation: :repeatable_read) do end
