ActiveModelとは
ActiveModelとは
ActiveModelとはActiveRecodeモデルクラスの便利な機能を普通のクラスで実現することをサポートしてくれるモジュール郡です。
例えば一括代入、バリデーション、コールバックが例です。
「データベースに直接紐付かないけれども、フォームの入力を検証して何らかの操作を行う。」ようなモデルを作るために便利に使えます。
上記のような概念をFormObjectといいます。
ActiveModelは多くのサブモジュールから構成されています。
その中でもよく使われるActiveModel:Model
を例に説明していきます。
ActiveModel:Modelとは
ActiveModel::Model
をincludeすると、以下のような機能を使えるようになります。
- モデル名の調査
- 変換
- 翻訳
- バリデーション
これら上記の機能が使える理由は
ActiveModel:Model
をincludeすれば、以下のモジュールが一度に利用できるようになるからです。
- ActiveModel::AttributeAssignment
- ActiveModel::Naming
- ActiveModel::Conversion
- ActiveModel::Translation
- ActiveModel::Validations
モジュールの詳細はこちらに
まとめ
ActiveModelとはActiveRecordを継承しないクラスでもActiveRecordと同じような便利メソッドが使えるようになる
ActiveModelは多くのサブモジュールから構成されている。
ActiveModelはFormObjectという概念で使われることが多い