DAY09 updateメソッド

TOKHEE·2024년 3월 26일

Railsのupdateメソッド

1) Ruby on Railsで、Active Recordオブジェクトの属性を更新し、データベースに保存
2) 二つの使用方法:オブジェクトインスタンス、クラスメソッド

オブジェクトインスタンスに対するupdate

  • 特定のオブジェクト属性の更新と保存
# IDが1のUserレコード検索
user = User.find(1)
# nameとemail属性更新・保存
user.update(name: "新しい名前", email: "new@example.com")
  • saveメソッドを内部呼び出し、バリデーション実行
  • バリデーション失敗時、false返却、errors属性にエラーメッセージ保存

クラスメソッドとしてのupdate

  • 1つ以上のレコード同時更新可能
# IDが1のUserレコード更新
User.update(1, { name: "新しい名前", email: "new@example.com" })
  • 複数レコード一度に更新
# IDが1と2のレコード更新
User.update([1, 2], [{ name: "最初のユーザー名" }, { name: "二番目のユーザー名" }])

参考事項

  • すべてのコールバックとバリデーション実行
  • update成功時true、失敗時false返却
  • 失敗時、errors属性でエラー原因確認可能

0개의 댓글