gpt4 book ai didi

ruby-on-rails - 连接表中的记录在 HABTM 关联中自动销毁?

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

假设我有一个关联,其中用户拥有并属于许多角色。当我销毁用户时,连接表中的记录是否也会自动删除?还是我需要使用 :dependent => :destroy ?如果我销毁一个角色呢?

class User < ActiveRecord::Base
has_and_belong_to_many :roles # need to use :dependent => :destroy to remove join record?
end

class Role < ActiveRecord::Base
has_and_belong_to_many :users # need to use :dependent => :destroy to remove join record?
end

最佳答案

连接表条目已删除,但角色或用户未删除。您不能向 has_and_belongs_to_many 添加依赖 destroy 子句,但如果您愿意,可以将它们添加到连接模型中的关系中。例如,要在删除关联的连接表条目时销毁角色,您可以执行以下操作:

class RolesUser < ActiveRecord::Base
belongs_to :role, :dependent => :destroy
belongs_to :user
end

关于ruby-on-rails - 连接表中的记录在 HABTM 关联中自动销毁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5019572/

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