【发布时间】:2016-05-11 16:00:14
【问题描述】:
我已经设置了一个 ActiveRecord 事务,但是当第二个语句失败时,它不会导致事务失败。这是我的代码:
Contact.transaction do
contact = Contact.create(params)
channel = ContactChannel.create(contact: contact, phone: contact.phone)
# ContactChannel query raises a validation error
# puts "ERRORS: #{channel.errors.messages}" outputs the following:
# {:channel_key=>["has already been taken"]}
contact # Still returns the contact that was created
end
知道为什么尽管出现验证错误但它不会失败吗?
【问题讨论】:
标签: ruby-on-rails activerecord rails-activerecord rails-api