Dan*_*ier 5 activerecord cascade ruby-on-rails cascading-deletes
我有一个带有one_to_many关系的rails模型.当我删除父亲时,我想删除所有孩子.我该怎么办?我想在删除用户时删除所有订单及其商品
我的模特是:
class User < ActiveRecord::Base
has_many :orders, :foreign_key => "id_user"
end
class Order < ActiveRecord::Base
has_many :order_items, :foreign_key => "id_pedido"
belongs_to :user, :foreign_key => "id_usuer"
end
class OrderItem < ActiveRecord::Base
belongs_to :order, :foreign_key => "id_pedido"
end
Run Code Online (Sandbox Code Playgroud)
cit*_*ite 10
jdl的答案是正确的 - 您需要添加:dependent => :destroy到两个关系中 - 即在您的User班级中,将其添加到has_many :orders您的Order班级,并在您的班级中添加它has_many :order_items.
您可能还希望更改外键的MySQL行为,也许可以将它们设置为ON DELETE CASCADE.
| 归档时间: |
|
| 查看次数: |
6473 次 |
| 最近记录: |