ユーザーが写真をアップロードできるRailsアプリがあります。写真はAmazonS3バケットにアップロードされます。「リスト」に「画像」がたくさんある「リスト」がたくさんある「寄稿者」がいます。このタイプのディレクトリにすべての画像をアップロードしたいのですが。
:contributor_id/:listing_id/IMAGES_HERE.jpg
また、寄稿者が別のリストを作成した場合に、その寄稿者のまったく新しいフォルダーが作成されないようにしたいと思います。コントリビューターIDを使用して、作成済みのフォルダーにアップロードしたいと思います。
これをどのように達成できるかについて何か考えはありますか?これが私の現在の:pathがどのように見えるかです
has_attached_file :asset,
:styles => {:large => "640x480", :medium => "300x300", :thumb => "100x100" },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:contributor_id/:id/:filename"
答え:
ご回答ありがとうございます。これが、Paperclipの補間機能を使用して機能させる方法です。
Paperclip.interpolates('contributor_id') do |attachment, style|
attachment.instance.listing.contributor_id
end
Paperclip.interpolates('listing_name') do |attachment, style|
attachment.instance.listing.title.parameterize
end
そして、私の道..
:path => "/:contributor_id/:listing_name/:filename"