ruby-on-rails - 如何销毁两个模型之间的所有关联数据? (Rails 初学者)

标签 ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我有两个模型:storecategory 以及一个名为 categories.stores 的连接表。

如何删除连接表中商店对象的所有关系数据?

我可以使用其中之一吗:

store.categories.destroycategory.stores.destroy

注意:两个模型都是has_and_belongs_to_many(因此每个关联记录都没有标识符——只有store_id和category_id)

最佳答案

has_and_belongs_to_many 关联中,您可以使用 delete_alldestroy_all

has_many 关联中,您应该考虑使用 delete_all,因为它会按照 :dependent 策略删除记录(默认情况下会取消外键)而不是销毁关联记录的 destroy_all

更多详情请访问 http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#label-Delete+or+destroy%3F

关于ruby-on-rails - 如何销毁两个模型之间的所有关联数据? (Rails 初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037054/

相关文章:

ruby-on-rails - 为什么 'FactoryGirl.lint' 给出 InvalidFactoryError?

ruby-on-rails - 为什么 time_field 无法显示 Rails 中 'edit' 操作中保存的数据

ruby-on-rails - 如何在 Rails 中获取 belongs_to 的类名?

ruby-on-rails - Ruby Rest 客户端 POST,如何发送 header

ruby - 如何在 Ruby 的时间序列中规范化和插入缺失值?

ruby-on-rails - 如何在 Rails 应用程序中使用 link_to 将文章标题添加到 URL?

css - wice_grid gem : add dynamic color

php - 如何为 Cyber​​source SOAP API 格式化 Savon Request

ruby-on-rails - 使用偏执狂的默认范围急切加载已删除的记录

ruby - Resque vs Sidekiq?