Active Recordとは
簡潔に言うと、SQLをRubyに翻訳したもの。
MVCのM(モデル)がデータベースのデータを扱う際、本来であればSQL文でクエリを発行するが、RailsにはActive Recordのお陰で、Rubyでデータベースを操作することができる。
また、SQLではDBシステムによって互換性があるが、Active Recordでは、DBシステムの種類に関わらず、同じ記法が使えるのもメリットの一つ。
CRUD処理でよく使うメソッド
自身が現在CRUD処理の実装を復習しているので、Create(作成)、Read(参照)、Update(更新)、Delete(削除)の流れでよく使うメソッドをまとめていきます。
Create(生成)でよく使うメソッド
@user = User.new(name: "山田", age: 22)
# userモデルのインスタンスの作成 DBには保存されない
@user.save
# 上記のnewで作成したインスタンスをDBに保存
@user.create(name: "山田", age: 22)
# インスタンスを作成し、DBに保存までまとめて行う
Read(参照)でよく使うメソッド
参照メソッドはかなりあるので、自身があまり使い慣れてないものを中心にまとめます。
@users = User.order(created_at: :asc)
# userの作成日時が古い順(昇順)で取得 :descで新しい順(降順)
@user = User.find(2)
# id が 2 のレコードを取得
@user = User.find_by(name: "山田")
# nameカラムで 山田 と一致するものの一番若いレコードを取得
@user = User.where(age: 22)
# ageカラムで 22 と一致する全てのレコードを取得
@user = User.where.not(age: 20)
# ageカラムで 20 ではない全てのレコードを取得
Update(更新)でよく使うメソッド
@user.update
# findメソッド等で取得したデータを更新
Delete(削除)でよく使うメソッド
@user.destroy
# findメソッド等で取得したデータを削除
参考:
【初心者向け】RailsのActive Recordの解説&メソッドまとめ
Active Record の基礎 Railsガイド