(画像は投稿に属します)
画像アップローダーは機能しますが、投稿編集で画像をアップロードする場合のみです。投稿が作成されたときに画像をアップロードしたい。
画像のアップロード ("<%= f.file_field :image %>") は新しい投稿フォーム内にあるため、投稿が作成される前に Carrierwave が指定されたパスに画像をアップロードしようとしていると推測されます。アップロードする場所を知っています。
ImageUploader ファイルは次のとおりです。
class TrackImageUploader < CarrierWave::Uploader::Base
def cache_dir
"#{Rails.root}/tmp/uploads"
end
include CarrierWave::RMagick
#storage :file
#storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :featured do
process :resize_to_fill => [210, 145]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
上記のコードの store_dir は、Amazon S3 の適切なパスに画像を保存する役割を担っていると思います。
Post.id を取得できるように、投稿が作成された後に画像をアップロードするようにするにはどうすればよいですか?