2011-04-14 34 views
3

我對acts_as_paranoid對象有問題。現在我想要真正銷燬對象,但我找不到一個簡單的方法。真的毀滅acts_as_paranoid對象

我不喜歡使用硬編碼SQL來解決這個問題。

有人知道一個很好的解決方案嗎?

UPDATE

我想出了以下解決方案。我不喜歡這一點,很多,但工程....

# Use this function wisely 
def really_destroy 
    ActiveRecord::Base.connection.execute("DELETE FROM user_widgets WHERE id = #{self.id}") 
end 

回答

6

添加一個爆炸的destroy方法。

def really_destroy 
    self.destroy! 
end 
+0

容易嗎? :d。我明天會檢查一下!感謝您的回答 – 2011-04-14 17:40:54

+1

那很簡單。在這裏查看文檔:https://github.com/technoweenie/acts_as_paranoid/blob/master/lib/caboose/acts/paranoid.rb#L46 – 2011-04-14 17:49:08

3

如果你想消滅已經「軟刪除」,即它的「deleted_at」已被設置, 只需再次摧毀,是指兩個次破壞能破壞永久刪除的記錄。