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)
我该怎么做才能确保级联删除有效?
尝试改为:
Post.first.destroy
Run Code Online (Sandbox Code Playgroud)
destroy调用定义的回调,而delete直接使用SQL删除记录而不创建AR对象.