非常に古いレガシー アプリケーションを PHP から Rails に移植していますが、「適切な」RoR の方法で実装する方法がわからない機能に遭遇しました。
基本的に、リードを収集するサインアップ フォームがあります。リードの属性の 1 つは居住地です。アラスカ、フロリダなど
また、バックエンドにログインしてリードのリストを取得できる顧客もいます。これらの顧客のリストは州別にフィルター処理されており、「許可」状態はアカウントに関連付けられています。
私がここに来るずっと前に作成されたオリジナルの PHP アプリケーションは、顧客が「所有」するすべての州の行を作成するかなり複雑な方法を使用しています。これは、相互参照テーブルがかなり大きくなり、PHP コードがこれらのルックアップに基づいて顧客を解析するときに、いくつかの厄介なネストされたループを作成したことを示しています。
私は、States という Rails モデルを作成して、Customer に多数の State を持ち、State に多数の Lead 関係を持たせることを考えましたが、もっと良い方法があるはずです。
別のオプションは、州のリストを顧客ごとに配列として保存し、その配列をテキストとして 1 行に保存してから、配列を使用してデータベースにクエリを実行するか、すべての顧客レコードのすべての州の行を作成し、各州をオンまたはオフの状態。
これはかなり一般的なタイプの関係のように見えるため、レールの組み込み関数が欠けているように感じます。