在“创建产品”页面上,我想删除用户上传但从未使用过的旧照片。所以,在我的new
行动中,我想这样做:
def new
Photo.where(:product_id => nil, :user_id => current_user).delete
@product = Product.new
@photo = Photo.new
end
,属于当前用户但与产品没有关联的任何照片都会被删除。但是,我不认为我可以打电话delete
。
删除这些照片的正确语法是什么?
在“创建产品”页面上,我想删除用户上传但从未使用过的旧照片。所以,在我的new
行动中,我想这样做:
def new
Photo.where(:product_id => nil, :user_id => current_user).delete
@product = Product.new
@photo = Photo.new
end
,属于当前用户但与产品没有关联的任何照片都会被删除。但是,我不认为我可以打电话delete
。
删除这些照片的正确语法是什么?
一个简单的delete
行不通,但如果您where
返回一组记录,请使用delete_all
.
Photo.where(:product_id => nil, :user_id => current_user).delete_all
destroy_all
类似地工作,但在比 SQL 更高的级别上,因此调用对象回调,如after_destroy
) 等。