我的 Rails 应用程序有两个模型,画廊和照片。画廊有很多照片,照片属于一个画廊。
当我删除一张照片时,我注意到 rails 也会加载图库——我不需要。这是一个添加的数据库查询。
当我find
要删除照片时,我使用@photo = Photo.find(params[:id])
. 这会加载关联。
我知道有@photo = Photo.find(params[:id], :include => :gallery)
,它告诉它加载画廊。与此相反的是什么?我尝试了以下方法:
@photo = Photo.find(params[:id], :include => [])
@photo = Photo.find(params[:id], :include => nil)
我还尝试仅选择删除照片所需的字段,但我需要gallery_id
删除实际文件,因为文件的路径基于图库。这也只是最终加载画廊。
编辑:我的Photo
模型如下所示:
class Photo < ActiveRecord::Base
belongs_to :gallery
mount_uploader :file, PhotoUploader
end
mount_uploader
来自载波。我有一个上传器,其中包含以下代码:
def store_dir_base
"galleries/#{model.gallery.id}/"
end
会不会是罪魁祸首?
谢谢!