【发布时间】:2018-03-21 05:52:49
【问题描述】:
我在依赖销毁功能方面遇到了一些问题。 型号如下。
公司.rb
has_many :company_users, dependent: :destroy
has_many :users, through: :company_users, dependent: :destroy
公司用户.rb
belongs_to :company
belongs_to :user
用户.rb
has_one :company_user, dependent: :destroy
has_one :company, through: :company_user
当我删除公司时,它需要删除公司用户和用户。
目前它只删除公司用户。关于如何解决这个问题的任何想法?
【问题讨论】:
-
为什么要删除用户?如果用户与任何其他公司相关联,则会出现问题
-
如果情况是用户只与一家公司关联,我认为您应该使用
company has_many users,在这种情况下您不需要通过关联 -
该用户仅与一家公司相关。场景是当一个公司被删除时,所有关联的用户也应该被删除。
-
@prajeesh 根据您的要求,关联应该是这样的
user belongs to company, company has many users -
我认为如果用户直接属于公司,您的
CompanyUser模型将毫无用处。这种连接模型通常只在 has_and_belongs_to_many 情况下才需要。该模型在您的应用程序中的用途是什么?
标签: ruby-on-rails ruby