0
我試圖在記錄被刪除後提供撤消功能。要做到這一點,我刪除之前,我克隆它的記錄,並把它放在會話像這樣:無法保存克隆記錄
session[:undo] ||= []
session[:undo] << record.clone
然而,當我後來做
rec = session[:undo][-1]
rec.save!
記錄不會被保存。服務器控制檯輸出說
(0.2ms) BEGIN
[paperclip] Saving attachments.
(0.2ms) COMMIT
這讓我覺得它被保存,但它不在數據庫。我很困擾。有任何想法嗎?
這樣做的更穩定的方法是在數據庫中有一個「有效」布爾標誌,默認爲true。刪除記錄時,只需將該標誌更改爲false即可。要撤消您只需將其更改爲true即可。 – coreyward
哦,不錯。我想我每次訪問記錄時都必須檢查這個標誌嗎?有沒有辦法自動排除不活動的記錄? – providence
@providence,您可以在模型中使用'default_scope'(http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c- default_scope)來排除不活動的記錄。 –