所以我有以下模型:
我使用所有者模型将各种其他模型(如商业优惠券交易和可兑换)与用户模型相关联。
使用可兑换模型是因为我想为每个使用优惠券/交易的用户生成唯一代码,以限制每个用户一个以及总金额。
我想也许我不需要两个模特的优惠券和交易,我只需要一个,因为交易更像是一种特殊类型的优惠券。
修改后继续使用模型:
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'
我只是不明白如何将优惠券与用户模型相关联,因为我为拥有的东西做了多态关联。
答案 0 :(得分:3)
我会说优惠券本质上是合约,证书,交易实例。当一个人购买优惠券时,他们实际上会购买一份合法合同,某些企业将根据合同(交易)中描述的承诺产品或服务进行交易。因此,考虑到这一点,这是尝试对此进行建模。