Open4

Rails学習メモ

Yuma ItoYuma Ito

ActiveRecord

https://railsguides.jp/active_record_basics.html

Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行なえるようにします。Active Recordは、ORM(オブジェクト/リレーショナルマッピング)システムに記述されている「Active Recordパターン」を実装したものであり、このパターンと同じ名前が付けられています。

Yuma ItoYuma Ito

Create

user = User.create(name: 'Hoge', email: 'hoge@example.com)

または、オブジェクトを初期化してからsaveする

user = User.new(name: 'Hoge', email: 'hoge@example.com')
user.save
Yuma ItoYuma Ito

Read

User.find(id) #idで検索する
User.first # 最初のレコードを取得する
User.all # すべてのレコードを取得する

Update

user.update(name: 'fuga')

または、オブジェクトの値を変更してからsaveする

user.name = 'Fuga'
user.save

updateするとupdate_atが自動的に更新される。

Delete

user.destroy
Yuma ItoYuma Ito

Validation

https://railsguides.jp/active_record_validations.html

オブジェクトが有効かどうかを確認する

user.valid?

バリデーションの設定

validates :name, [validation]

バリデーションヘルパー

いくつかのバリデーションがすでに用意されている

必須である

validates :name, presense: true

正規表現に一致する(しない)

validates :name, format: { with: /<正規表現>/ } # 一致する
validates :name, format: { without: /<正規表現>/ } # 一致しない

一意にする

validates :email, uniqueness: true

※MySQLの場合、大文字小文字はデフォルトで区別される