The #new_record? function determines if a record has been saved. But it is always false in the after_save
hook. Is there a way to determine whether the record is a newly created record or an old one from update?
I'm hoping not to use another callback such as before_create
to set a flag in the model or require another query into the db.
Any advice is appreciated.
Edit: Need to determine it in after_save
hook, and for my particular use case, there is no updated_at
or updated_on
timestamp
I was looking to use this for an after_save
callback.
A simpler solution is to use id_changed?
(since it won't change on update
) or even created_at_changed?
if timestamp columns are present.
Update: As @mitsy points out, if this check is needed outside of callbacks then use id_previously_changed?
. See docs.