ライブイベントグッズ販売のアプリを作成しています。私は inventory_events のテーブルを持っています。各 inventory_event は、経時的な在庫の変化を表しています。私のアプリケーションの性質上、1 つのマスター在庫 (在庫のあるすべてのアイテム) とイベントごとに 1 つの在庫を追跡する必要があります。
基本的に、これは私のフローがどのように見えるかです:
- 今日がイベント日だとしたら
- イベントで販売されているinventory_itemごとに新しいinventory_eventsが作成されます
- これらの inventory_events は「チェックイン」と呼ばれ、アイテムをイベントにチェックインしています
- これにより、負の inventory_event が作成され、これらのアイテムはその後、マスター在庫から削除されます
- イベントが完了した後、残りの在庫はイベントから「チェックアウト」されます
- これにより正の inventory_event が作成され、残りのアイテムが在庫に追加されます
- これら 2 つのトランザクションの正味の qty_change は、このイベントで販売された私の正味のアイテムになります。
現在、これは私がセットアップした方法です:
- 各イベント has_many :inventory_events
- inventory_events を作成するとき、イベント更新フォームの fields_for を介してこれを更新しています
- これは、アイテムのチェックインには問題なく機能します
私の問題は、アイテムをチェックアウトすることから始まります(イベントからではなく、システムに入る)
- セットアップは上記と同じですが、この特定の日のイベントに関連付けられたチェックアウト イベントごとに 1 つの inventory_event を構築できる必要があります。
私の質問は次のとおりです。以前にこの日のイベントに関連付けられていた inventory_event ごとに 1 つの新しい field_for inventory イベントを作成するにはどうすればよいですか? イベントの数を数えて、それぞれに 1 つ作成できることはわかっていますが、それを行うにはどうすればよいでしょうか。また、いくつかの情報 (item_id) を維持することもできるので、チェックした項目ごとにチェックイン イベントを作成していることを知ることができます。この日アウト?
どうもありがとう。