私のrailsアプリケーションには、ギャラリーと写真の2つのモデルがあります。ギャラリーにはたくさんの写真があり、写真は1つのギャラリーに属しています。
写真を削除すると、レールにもギャラリーが読み込まれることに気付きました。これは必要ありません。追加されたデータベースクエリです。
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
それが原因でしょうか?
ありがとう!