ActiveRecord / Rails / Ruby
ActiveRecordモデルのコードはこんな感じです。
ここでは
- カスタムValidatorで
description
の内容をチェックする
- Callbackクラスで
language
を設定するbefore_save
を設定する
- Valueオブジェクトで
rating
を扱う
ということを行っています。
以下でそれぞれについて簡単に説明します。
カスタムValidatorクラス
カスタムValidatorではdescription
の内容が「ひらがなを含んで10文字以上」か「ひらがなを含まずに3単語以上」となっていることを確認します。
Callbackクラス
Callbackではbefore_save
でlanguage
の設定をしています。
今回の例ではひらがなを含んでいればlanguage
に:ja
を設定します。
Valueオブジェクト
Valueオブジェクトではrating
の比較を行えるようにしています。
参考文献
この記事を書くにあたって、CallbackクラスとValidatorについては
を、Valueオブジェクトについては
を参考にしました。
どちらもよくまとまっているのでオススメです。