かつてエピソード219で、ActiveModelを用いて、データベーステーブルを裏に持たないながらデータ検証などのActiveRecordの機能を持ったモデルを作成しました。ActiveModelが優れているのは確かですが、このように直接利用するにはあまり使いやすいとは言えません。例えば入力データの検証機能を持ったモデルを作るとなるとシンプルなものでもかなりの量のコードを書くことになります。 class Message include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming attr_accessor :name, :email, :content validates_presence_of :name validates_format_of :email, :w