В моем приложении есть две модели: галерея и фотография.Галереи имеют много фотографий, и фотографии принадлежат одной галерее.
Когда я удаляю фотографию, я заметил, что 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
из carrierwave .У меня есть загрузчик со следующим кодом:
def store_dir_base
"galleries/#{model.gallery.id}/"
end
Может ли это быть виновником?
Спасибо!