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_savecallback.A simpler solution is to use
id_changed?(since it won't change onupdate) or evencreated_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.