成功保存后我可以回滚记录吗?在rails中提交回滚事务
让我有一个属性名称,电子邮件等用户模型。
例如,
u=User.new
u.name="test_name"
u.email="[email protected]"
u.save
现在记录会后,我想我的回滚事务中成功保存在数据库中(不破坏或删除)。有什么想法?
成功保存后我可以回滚记录吗?在rails中提交回滚事务
让我有一个属性名称,电子邮件等用户模型。
例如,
u=User.new
u.name="test_name"
u.email="[email protected]"
u.save
现在记录会后,我想我的回滚事务中成功保存在数据库中(不破坏或删除)。有什么想法?
你可以用交易做到这一点,看到http://markdaggett.com/blog/2011/12/01/transactions-in-rails/
例子:
User.transaction do
User.create(:username => 'Nemu')
raise ActiveRecord::Rollback
end
您可以运行在沙盒模式控制台
$> rails c --sandbox
还有一个叫做PaperTrail的宝石,我们一直在使用它,取得了巨大的成功。它可能会比你想要的多一点。
PaperTrail允许您跟踪对模型数据的更改。这对于审计或版本管理而言是很有用的。您可以看到模型在其生命周期中如何查看 的任何阶段,将其还原为任何版本,甚至在 已被销毁之后将其取消删除。
https://github.com/airblade/paper_trail
没有隶属关系。