我设置回形针以保存到S3以在部署之间保留所有附件等。
不幸的是,它将图像保存到依赖于部署的路径:
http://s3-ap-southeast-2.amazonaws.com/flexcareers/var/deploy/flexpertlinode/web_head/releases/20150828162423/public/redactor_rails/pictures/20/original_3066814584_0d0db6817c.jpg?1440779173
我试图通过在default_options哈希中设置路径,然后在初始化程序中避免这种情况。它与保存文件的位置没有任何区别。
config.paperclip_defaults = {
:storage => :s3,
:s3_host_name => 's3-ap-southeast-2.amazonaws.com',
:path => "/:class/:attachment/:id_partition/:style/:filename",
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
# config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
我做错了什么?如何在更可预测的位置使用回形针将文件保存到S3。
理想情况下,我不想通过在模型中设置路径来解决这个问题,因为这会改变开发环境中的行为,而不会使用S3。
答案 0 :(得分:0)
在config/initializers/paperclip.rb
添加一件事:
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'