0
私はモデルOrders
と2人の子供Items
とfulfillments
を持っています。Railsは2つの子モデルの設定を調整します
fulfillment
が作成されたら、Items.fulfillment_complete
をtrueに設定する必要があります。
コントローラーでこれを設定するのが最適ですか?
current_order.fulfillment.save current_order.items(fulfillment_complete: true)
か、その1は、MVCの慣行に従っていることを確認するためにこれを行うには良い方法があります。
モデル名は通常単数形です。注文品目ごとに1つのフルフィルメントがありますか(「品目」は製品+数量+カスタム化のようなもので、製品自体ではないと仮定します)、または全体のオーダーに対して1つのフルフィルメントですか?いずれにしても、関係自体の存在を使用するだけではないのですか? –
基本的には、他のデータの存在/状態を反映するためにデータ(この場合は「bool」)を格納することによって、 'キャッシング 'を実行しようとしています。この情報をキャッシュしないようにしてください( 'Item#fulfilled? 'は' self.fulfillments.exists? 'の結果を返します)。 - キャッシングの問題は、キャッシュを行うためのデータを作成するには、必要なときに必ずこのキャッシュを無効にすることをお勧めします。 – MrYoshiji
'Item'と' Fulfillment'モデルの詳細を教えてください。それで、あなたが望むものと正しい解決方法を理解することがはるかに簡単になります。 – zauzaj