Rails

2010-02-02 9 views
6

Basit ActiveRecord Güncellemelerini Anlamak Sadece ActiveRecord'a dalış yapıyorum ve soruma cevap bulamadım. Bir nesnenin özniteliklerini güncelleştirir ve kaydetme() ... çağrısı, yeni değerler eski değerlerden farklı olduğunda ActiveRecord DB YALNIZCA kaydeder mi?Rails

ı böyle bir şey yapmak varsayalım:

thing_to_update = Thing.find_or_create_by_code(some_code) 
if thing_to_update.name != some_name 
    thing_to_update.update_attribute(:name, some_name) 
end 

ben potansiyel nesneleri bir sürü güncelleştirmek zorunda kalacak çünkü yoksa db'den ekstra aramaları yapmak istemiyoruz. Dokümanlar aracılığıyla okumaya çalıştım ve yeni değerleri eskilerle karşılaştırmaktan bahsetmiyor. Burada bir şey mi eksik?

Teşekkür

cevap

4

ActiveRecord olacak değil sahiptir Hiçbir özellik değişmediyse kayıtlarınızı güncelleyin. Bunu konsoldan thing_to_update.save çağırarak ve günlüğünü gözlemleyerek doğrulayabilirsiniz. ActiveRecord kaydı yükler, ancak güncellemeyi denemez.