web-dev-qa-db-ja.com

ActiveRecordオブジェクトが新しいかどうかを判別

ActiveRecordオブジェクトが新しいか、すでに保持されているかどうかを確認するにはどうすればよいですか?

206
jrhicks

#new_record? はまさにそれを行います:

object.new_record?
265
John Beynon

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
336
Damien