我有两个模型:store
和 category
以及一个名为 categories.stores
的连接表。
如何删除连接表中商店对象的所有关系数据?
我可以使用其中之一吗:
store.categories.destroy
或 category.stores.destroy
注意:两个模型都是has_and_belongs_to_many
(因此每个关联记录都没有标识符——只有store_id和category_id)
最佳答案
在 has_and_belongs_to_many
关联中,您可以使用 delete_all
或 destroy_all
。
在 has_many
关联中,您应该考虑使用 delete_all
,因为它会按照 :dependent
策略删除记录(默认情况下会取消外键)而不是销毁关联记录的 destroy_all
。
关于ruby-on-rails - 如何销毁两个模型之间的所有关联数据? (Rails 初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037054/