0
我發現自己做保存時的模型可能是昂貴的(也許是因爲我節省一噸他們)以下:如果保存模型時沒有更改,Rails/ActiveRecord會訪問數據庫嗎?
changed = false
if user.name_changed?
#do some stuff
changed = true
end
if user.birthdate_changed?
#do some other stuff
changed = true
end
user.save! if changed
是使用changed
不必要的?如果沒有任何改變,user.save!
會自動執行任何操作嗎?
使用Rails v3.2.16,但很高興升級到4.0,如果它在這方面效果更好。
如果沒有更改,文檔中沒有提及「save」或「save!」是否訪問數據庫。 –
它說:「如果模型是新的,則在數據庫中創建一條記錄,否則將更新現有記錄。」關鍵詞「現有記錄_更新._」在rails控制檯中試用,當您運行'save!'時,您會看到執行查詢。 –