我是RoR的新手,我正在尝试在我的应用程序中创建我的第一个关联,在Order模型和代表所有已经为该特定订单加星标的用户的星形键之间。
我最初考虑使用has_and_belongs_to_many
关联,但这没有意义,因为没有很多星星从一个用户到一个订单。
话虽如此,我真的很困惑,可以使用一点方向。也许一个简单的迁移文件会让我走上正确的道路。
干杯!
答案 0 :(得分:1)
假设用户可以“加注”多个订单,那么您确实需要has_and_belongs_to_many
。您可以轻松强制执行任何一个用户与任何一个订单只有一个关系。
答案 1 :(得分:1)
我确实会创建一个介于订单和用户之间的表,因为订单中有许多用户键入订单,用户可以键入许多订单......
rails g migration CreateOrderUsers order:references user:references
您的order_users模型变为
belongs_to: order
belongs_to: user
然后输入你的订单模型
has_many :order_users, dependent: :destroy
has_many users, through: :order_users
并在您的用户模型中
has_many :order_users, dependent: :destroy
has_many orders, through: :order_users
希望这有帮助!