如何检查ActiveRecord对象是新的还是已经持久化了?


当前回答

一个ActiveRecord对象生命周期:

1.新纪录

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

2.坚持

item.save
item.persisted? #=> true

3.改变了

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

4.破坏

item.destroy
item.destroyed? #=> true

其他回答

一个ActiveRecord对象生命周期:

1.新纪录

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

2.坚持

item.save
item.persisted? #=> true

3.改变了

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

4.破坏

item.destroy
item.destroyed? #=> true

# new_record吗?正是这样:

object.new_record?