amazon S3のaclを動的に変えるコードを書きました。
s3 = AWS::S3.new bucket_name = "xxx" bucket = s3.buckets[bucket_name] user.user_photos.each do |photo| o = bucket.objects[photo.url.path] if user.publicly? o.acl = :public_read else o.acl = :private end end
photo.url.pathにはbucket_name以降の/からファイル名までのパスが入ります。
http://akasata.com/articles/292
http://qiita.com/ryo0301/items/791c0a666feeea0a704c
https://github.com/thoughtbot/paperclip/issues/1416