RailsではモデルとDBのテーブルが1対1の関係になっていることが多いですが、対応するテーブルはないけどモデルを利用したい、というシーンがあると思います。 特に画面の入力内容が1つのテーブルに対応していない場合によく使われるとおもいます。例えば、CSVファイルの内容をインポートして各テーブルにデータを登録する場合のファイルアップロード画面用でテーブルなしモデルを使うと便利です。 このメモではこの「テーブルなしモデル」する方法を紹介します。 なぜ「テーブルなしモデル」を使うか テーブルなしモデルを利用することで以下の3つのメリットが得られると思います。 ActiveModelの強力なバリデーション機能を使える ⇒ 自分でバリデーションロジックを書かなくて済みます 他のソースコードとの統一性が保てる ⇒ 入力をモデル化することでform_forなどのメソッドが使えるため、テーブルありの場合の