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

モジュールの詳細はこちらに

Active Model の基礎 - Railsガイド

まとめ

  • ActiveModelとはActiveRecordを継承しないクラスでもActiveRecordと同じような便利メソッドが使えるようになる

  • ActiveModelは多くのサブモジュールから構成されている。

  • ActiveModelはFormObjectという概念で使われることが多い