删除关联的模型

时间:2013-01-18 08:30:58

标签: ruby-on-rails ruby-on-rails-3.1 associations

我有以下模型关联

客户模式

class Customer
   has_many :readings
   has_many :invoices
end

阅读模型

class Reading
  belongs_to :customer
 end

发票模型

class Invoice
   belongs_to :customer
   has_many :invoice_items
end

发票项目

class Invoiceitem
  belongs_to :invoice
end

在我的customers_controller中创建销毁操作会删除客户,但是它会留下很多孤立的记录,因为nil值会让我在发票控制器上调用show action。

如何删除模型中的客户及所有相关记录?

1 个答案:

答案 0 :(得分:1)

您可以将:dependent => :destroy添加到has_many

API Documentation部分从关联中删除包含此示例。

例如:

class Author
  has_many :posts, :dependent => :destroy
end
Author.find(1).destroy # => Will destroy all of the author's posts, too