本日はレコードの状態をチェックする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