确定ActiveRecord对象是否为新

时间:2011-10-20 22:15:37

标签: ruby-on-rails activerecord

如何检查ActiveRecord对象是新对象还是已保留?

2 个答案:

答案 0 :(得分:331)

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

答案 1 :(得分:264)

#new_record?就是这样做的:

object.new_record?