web-dev-qa-db-fra.com

Déterminer si l'objet ActiveRecord est nouveau

Comment puis-je vérifier si un objet ActiveRecord est nouveau ou est déjà persistant?

206
jrhicks

#new_record? fait juste cela:

_object.new_record?
_
265
John Beynon

Un cycle de vie d'objet ActiveRecord:

1 .nouvel enregistrement

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

2 .persisté

item.save
item.persisted? #=> true

3 .modifié

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

4 .détruit

item.destroy
item.destroyed? #=> true
336
Damien