Hyurakuのエンジニア日誌

SE出身Webエンジニアのブログ

レコードの状態をチェックする4つのメソッド #9

本日はレコードの状態をチェックする4つのメソッドを解説する。

参考サイト
Railsドキュメント

1. new_record?

対象のモデルが新しいコードかをチェックする。

 > member_a = Member.new
 #<Member:0x00007f99decabe88
 id: nil
 name: nil >
 > member_a.new_record?
 true

2. persisted?

対象のモデルが保存済みかをチェックする。

> member_a = Member.new
#<Member:0x00001111111111
id: nil
name: nil >
> member_a.persisted?
false
> member_b = Member.create(id: 1,name: "Jone Doe")
> member_b.persisted?
true

3. changed?

保存していないレコードがあるかチェックする。
更新し保存されたレコードにはfalseを返す。

> member_a = Member.new
#<Member:0x00007f99decabe88
id: nil
name: nil >
> member_a.changed?
true

member_c = Member.find(1)
> #<Member:0x00001111111111
id: 1
name: Jone Doe >
member_c.changed?
> false

> member_c.update(name: "Tim Holand")
=> true
>member_c.changed?
false

4. destroyed?

削除済みかをチェックする。

> member_c = Member.find(1)
> member_c.destroy
> member_c.destroyed?
true