Rubyファイルを自作
Railsの公式で最初から用意してくれているやり方で実装が難しいと感じた時には行いましょう。
RubyやRailsの仕組みをよく理解して、自作のクラスを作成しRailsに組み込むことで、さらに便利なプログラムを組むことが可能です。
デザインパターン
プログラムには必ず「実現したいゴール」があります。「こんなことがしたい」という要望に対して最適な方法や手順をまとめたものがデザインパターンです.
今回の実装の目的
・「1つのフォームから複数のテーブルにデータを保存する」
・「バリデーションやエラーメッセージの表示ができない」
使用デザインパターンは「Formオブジェクトパターン」
実装手順
手順1 | 新たにmodelsディレクトリ直下にファイルを作成し、クラスを定義する |
---|---|
手順2 | 作成したクラスにform_withメソッドに対応する機能とバリデーションを行う機能を持たせる |
手順3 | 保存したい複数のテーブルのカラム名全てを属性値として扱えるようにする |
手順4 | バリデーションの処理を書く |
手順5 | データをテーブルに保存する処理を書く |
手順6 | コントローラーのnewアクション、createアクションでFormオブジェクトのインスタンスを生成するようにする |
手順7 | フォーム作成の部分をFormオブジェクトのインスタンスを引数として渡す形に変更する |