Sprawdź, czy obiekt ActiveRecord jest nowy

218

Jak mogę sprawdzić, czy ActiveRecordobiekt jest nowy lub jest już utrwalony?

jrhicks
źródło

Odpowiedzi:

360

Cykl życia obiektu ActiveRecord:

1. nowy rekord

item = Item.new
item.new_record? #=> true

2. przetrwał

item.save
item.persisted? #=> true

3. zmieniony

item.name = "other"
item.changed? #=> true

4. zniszczone

item.destroy
item.destroyed? #=> true
Damien
źródło
28
Lepsza odpowiedź, ponieważ kończy cykl życia.
nick