gpt4 book ai didi

ruby-on-rails - Rails 的新记录?如果事务回滚则不重置(为真)

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:54 27 4
gpt4 key购买 nike

因此在 Rspec 中进行以下测试:

require 'spec_helper'
describe Author do
self.use_transactional_fixtures = false

after(:each) do
Author.destroy_all
end

it "should behave normal when using transactions" do
my_author = nil
begin
Author.transaction do
my_author = Author.new(:name => "My Name")
my_author.new_record?.should be_true
my_author.save!
raise "some exception"
end
rescue
end
Author.count.should == 0
my_author.new_record?.should be_true
end
end

最后一行:

my_author.new_record?.should be_true

给出:

'Author should behave normal when using transactions' FAILED
expected true, got false

至少当你回滚一些记录创建时,我希望它能完全回滚,所以重置 new_record?还有身份证。我在这里错过了什么吗?这是故意的吗?我正在使用 Rails 2.3.5

最佳答案

Delph,这是 Rails 中的一个错误。它应该重置 id 和 new_record,但它没有。

查看下面的链接了解更多信息

https://rails.lighthouseapp.com/projects/8994/tickets/1948-transaction-block-sets-model-id-to-non-existent-row

关于ruby-on-rails - Rails 的新记录?如果事务回滚则不重置(为真),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com