Rails中不会删除关联记录

pic*_*rdo 1 activerecord ruby-on-rails associations

我试图将一组上传的图片与帖子相关联.在我的控制器中,我使用以下代码:

image_uploads = params[:image_uploads]
iu = ImageUpload.find(image_uploads)
@post.image_uploads = iu
Run Code Online (Sandbox Code Playgroud)

虽然这确实可以访问上传的图像@post.image_uploads,但我认为它不会将这些图像与帖子相关联,因为当删除帖子时,图片上传不会被删除 - 即使我已经用于:dependent=>:destroy他们的关系.

> Post.first.delete
=>[]
> ImageUpload.all
=> [#<ImageUpload id: 3 ...>] 
Run Code Online (Sandbox Code Playgroud)

这是模型:

class Post < ActiveRecord::Base
 has_many :image_uploads, :dependent => :destroy

end

class ImageUploads < ActiveRecord::Base
 belongs_to :post

end
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能确保级联删除有效?

cle*_*nsp 5

尝试改为:

Post.first.destroy
Run Code Online (Sandbox Code Playgroud)

destroy调用定义的回调,而delete直接使用SQL删除记录而不创建AR对象.