Determinar se o objeto ActiveRecord é novo

218

Como posso verificar se um ActiveRecordobjeto é novo ou já existe?

jrhicks
fonte

Respostas:

360

Um ciclo de vida do objeto ActiveRecord:

1. novo recorde

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

2. persistiu

item.save
item.persisted? #=> true

3. mudou

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

4. destruído

item.destroy
item.destroyed? #=> true
Damien
fonte
28
Melhor resposta, pois completa o ciclo de vida.
nick