以下是我的简化模型
class Offer < ApplicationRecord
has_many :rooms
end
class Room < ApplicationRecord
belongs_to :offer
end
class Kitchen < Room
end
我使用STI for Kitchen,因为它似乎是表达我想做的事情的正确方式(我可能错了)。
我希望能够创建一个优惠与它的房间。我有直接作为Room实例的“常规”房间,以及可以有额外属性的更具体的房间,比如厨房。
我正在使用cocoon创建嵌套表单,它可以很好地创建一个优惠并添加常规房间。
我在两个模型之间有很多个域:
class userProfile(models.Model):
boughtCoupons = models.ManyToManyField(Coupon, through='UserCoupons')
class UserCoupons(models.Model):
user = models.ForeignKey(userProfile)
coupon = models.ForeignKey(Coupon)
date = models.DateField()
class Coupon(models.Mod