成功保存後我可以回滾記錄嗎?在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
沒有隸屬關係。