Ruby on RailsのActive Recordについて簡単にまとめました。
Active Recordsとは
Railsとデータベースの間のやりとりを担当するレイヤーです。
データベースから取ってきたデータを元にインスタンスを作成したり、インスタンスへの操作を通してデータベースを更新したりします。
基本的にデータベースの操作はSQLで実行するものですが、Railsではデータベースの操作にSQLを書く必要はほぼありません。Active RecordがRubyで書かれた記述を解釈し、ユーザの代わりにデータベースに対してクエリを発行してくれるからです。
機能
CRUD
データベースに対してCRUD操作を行う機能が組み込まれており、簡単に利用できます。
たとえばUsers.all
だけで「すべてのユーザを取得する」という操作ができます。
scope
よく使うクエリを、名前を付けて保存する機能です。
たとえば、「登録日が30日以内であるユーザの一覧を取得する」というクエリを、registered_in_last_30_days
という名前で登録できます。
validation
データの値が想定と合っているかを検証する機能です。
「データが空でない」、「文字数がn文字以下である」、「特定の文字列フォーマットにマッチする」などの条件で検証することができます。独自の条件を定義することもできます。
callback
オブジェクトのライフサイクルの各段階において、指定した関数を実行させる機能です。
オブジェクトのライフサイクルとは、オブジェクトの初期化・作成・保存・更新・削除・バリデーション・読み込みといった一連の流れのことです。
たとえば「オブジェクトの更新」が成功した際に「指定のSlackチャンネルに通知する」という関数を実行させる、というように使います。
終わりに
Active Recordsにはさまざまな機能があります。
公式ドキュメントにはより詳しい解説が記載されています。
たくさんの機能を便利に使って効率的に開発していきましょう。