gpt4 book ai didi

ruby-on-rails - 模型 belongs_to eiher/or more than one models

转载 作者:行者123 更新时间:2023-12-04 06:10:10 25 4
gpt4 key购买 nike

是否可能有一个模型属于(或/或)多个模型?

例如,在我的项目中,我有一个订阅模型,它可能属于一个人或一个组。当一个人将加入一个特定的组时,她会自动“继承”该组的订阅。

我已经建立了以下协会

亲自.rb:

has_many :subscriptions

在group.rb中:

has_many :subscriptions

在 subscription.rb 中:

belongs_to :person
belongs_to :group

此外,我还在订阅表中添加了 person_id 和 group_id 字段。

问题是,当我尝试创建一个订阅时,比方说一个人,我收到“组必须存在”的错误。

有没有办法克服这个问题?

如果不是绝对必要,我宁愿避免使用多态关联。

最佳答案

是的,一个模型可以属于多个模型。

如果关联不存在,rails 中的

belongs_to 现在将默认触发验证错误。

我们可以使用 optional: true 在每个关联的基础上关闭此功能。您必须将订阅关联 belongs_to 组声明为可选

belongs_to :class, optional: true

关于ruby-on-rails - 模型 belongs_to eiher/or more than one models,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48486797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com