だから私持って次のモデル:これらのデータベースの関連付けをモデル化する最良の方法は何ですか?
- ユーザー
- ビジネス
- クーポン
- 償還
- お得な情報
- 所有者
私は関連付けることを所有者のモデルを使用していますビジネスクーポンなど様々な他のモデルユーザーモデルに戻すことができます。
クーポン/取引を使用するユーザーごとに一人のユーザー数と合計金額を制限する固有のコードを生成する必要があるため、償還可能なモデルが使用されます。
私は、クーポンと取引に2つのモデルは必要ないかもしれないと思います。取引は特別なクーポンのようなものだからです。
だから、HERESに改正後のモデル:
Business
has_many :owners, :as => :ownable, :dependent => :destroy
has_many :coupons, :dependent => :destroy
Coupon
belongs_to :business
has_many :redeems
# also has a special column for denoting weather it's a
# normal coupon or a daily deal kind of coupon
Redeem
belongs_to :coupon
has_one :owner, :as => :ownable, :dependent => :destroy
Owner
belongs_to :user
belongs_to :ownable, :polymorphic => true
とユーザモデルのために私は完全に を失ったが、ここで私はちょうど同じ問題を抱えていることがすべての人のための擬似コード 編集で何をしたいのです午前ここです私はユーザモデル
User
has_many :owners
has_many :businesses, :through => :owners,
:source => business, :source_type => 'Business'
has_many :redeems, :through => :owners, :source=> :redeem,
:source_type => 'Redeem'
has_many :coupons, :through => :redeems,
:source => :coupon, :source_type => 'Coupon'
を設定する方法私はちょうど私が物事を所有するためのポリモーフィックな関連をしたので、Userモデルでクーポンを関連付ける方法を理解していません。
オブジェクトまたは表の列のプロパティとしてそれを置くであろうと、形容詞です。動詞(償還)として、それは連合によって表されるでしょう。エンティティ(オブジェクト)として持っているので、何かがここから離れています。おそらく、モデル化しようとしているプロセスを記述することができますか? –