Итак, у меня есть следующие модели:
- Пользователь
- Бизнес
- Купоны
- Сделки
- Погашаемые
- владелец
Я использую модель владельца, чтобы связать различные другие модели, такие как сделки с бизнес-купонами, и возможность их погашения для пользовательской модели.
Модель, подлежащая погашению, используется потому, что яЯ хочу создать уникальный код для каждого пользователя, который использует купон / сделку, чтобы ограничить один код на пользователя, а также сумму в целом.
Полагаю, может быть, мне не нужны две модели для купона и сделкии мне просто нужен один, потому что сделка больше похожа на специальный тип купона.
Итак, вот модели после ревизии:
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'
Я просто не понимаю, как связать купоны с моделью пользователяпотому что я сделал полиморфную ассоциациювладение вещами.