###前提・実現したいこと
ruby on railsで
入力フォームで値を入れたら複数のモデルを同時に保存・更新する動作を記述しています。
(現状では、一つのコントローラにbuildメソッドやupdateメソッドを書きこんで複数のモデルを保存・更新するように記入してあります)
また、複数のモデルがからむバリデーションに使いたいと考えています。
(口座振替みたいな処理をするので、
残高を記録・更新している口座モデルと取引額を新規記録する取引モデルがあるとした場合、
支払人の口座モデルの残高を参照して、残高を超える取引をバリデーション(防止)したい)
このような場合、form object(フォームオブジェクト)にするのがいいと聞きました。
そして調べていくうちにサービスクラスというもの知りました。
ただ、「複数にモデルを同時に動作させるとき」に使った方がいいと書いてあり、
似たような印象を受けて混乱しています。
formオブジェクトとサービスクラスの違いとは何なのでしょうか?
また、最初に述べた「複数のモデルへの保存・更新の記述」と「複数のモデルがからむvalidation」は結局のところ、フォームオブジェクトかサービスクラスのどっちでやった方がいいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/09 23:15