「複数のコントローラーアクション」を処理するRailsの方法は何ですか? 私のアプリケーションには、いくつかのモデルに影響を与える特別な「ショッピング カート」フローがあります。基本的に、フローはログインしている特別な種類のユーザーが利用でき、次のようになります。
- ユーザーを追加します。
- ここで「ユーザーの追加」が可能です。Basecamp について知っている場合、この手順はプロジェクトに人を追加するのと少し似ています。したがって、このステップでは、ユーザー リソースの観点から考えています。
- ここでは、以前に追加したユーザーごとに「購入」することができます。
- これは、基本的なショッピング カートのようなものです。ということで、リソース的には「ショップ」か「カート」を考えています。
- これは確認手順です。繰り返しますが、これはカートの一部だと思います。
確認後、いくつかのことが起こるはずです。
- 手順 1 で追加したユーザーは、何らかの方法でアクティブ化する必要があります。つまり、アクティブ化する前にログインすることはできません。
- ステップ 2 の買いから注文を出す必要があります。
- ステップ 2 で購入する「もの」は、ある種の仮想製品です。つまり、ユーザーがログインすると、製品は「招待状」として表示されます。これの詳細はあまり重要ではなく、説明するのが少し難しいです。重要な点は、確認後、データベースに招待状を作成し、ユーザーに関連付ける必要があるということです。
繰り返しになりますが、システムの詳細を説明するのは少し難しいのですが、主な質問は、この種のものを Rails で実装するのに最適な方法です。In にはいくつかの手順が含まれ、すべての手順で複数のモデルに影響を与えます。
ある種のステートマシンでそれを行うことを考えていました。ステートマシンは、ステップまたは状態間の遷移を担当し、必要なアクションを実行します。だから私はStateMachineControllerか、モデルなしでメインロジックを実装する何かを持っていると思います。これは操作するものですか?Rails は RESTfull リソースにかなり偏っているようですが、上記のような RESTfull アプローチを思いつかないようです。ありがとう。