2011-03-19 139 views
13

記錄在Ruby on Rails的,是@variable.delete@variable.destroy刪除從數據庫

+0

這不是一個真正的Ruby問題,它是您使用的任何ORM的問題,因爲您使用的是Rails,所以可能是ActiveRecord。如何改寫您的問題和標題以反映ORM而不是Ruby。因爲這是一個令人困惑的問題。 – 2011-03-19 08:15:31

+0

是的,你是對的,我改變了這一點 – 2011-03-19 08:18:34

回答

32

@variable.destroy將調用所有回調函數(before_destroy等)以及確保關聯性得到尊重。 @variable.delete只是調用原始數據庫查詢來刪除該對象。使用destroy即使價格較高,通常也會更安全。

2

假設你正在使用的ActiveRecord,那@variableActiveRecord::Base子類的實例,調用@variable.destroy