2011-08-08 30 views

回答

2

與其覆蓋保存方法,我建議您創建一個總是返回false的before_update鉤子。從the callback documentation

如果before_ *回調返回false,所有後來的回調和相關動作被取消

試圖保存已經存在的記錄時,一個before_update回調將只運行。當它最初創建時,它將運行before_create。使用鉤子,無論使用什麼方法保存記錄,都可以確保它會被調用。當您覆蓋現有的save方法時,您必須確保save!update_attributes等全部被覆蓋。

相關問題