私は2つのモデルを持っています
事業と代表
企業または代表者がサインアップすると、「当社についてどのように知りましたか?」というオプションのリストが表示されます。
発見方法は動的であるため、管理者はビジネスまたは代表者が私たちを発見できる方法を追加できます. たとえば、管理者は「Google 経由」、「友人を通じて」、「別の代表者を通じて」などのオプションを追加できます。各検出タイプは、ビジネスまたは代表者、またはその両方のいずれかになります。
discovery_type モデルをどのようにモデル化すればよいか、どのような関係を持たせるべきか、次のようなことを考えていました
Schema :
table: discovery_types
name: string
type: string(can be one of 'business','representative', 'both')
class DiscoveryType< ActiveRecord::Base
has_many :businesses
has_many :representatives
end
class Business< ActiveRecord::Base
belongs_to :discovery_type
end
class Representative< ActiveRecord::Base
belongs_to :discovery_type
end
私はこの上記のスキームに自信がありません。誰でも問題を指摘でき、より良い方法を提案することができます..
また、いずれかの列にインデックスを追加する必要がありますか?