用回形针的aws的路径

时间:2015-08-28 16:31:18

标签: ruby-on-rails amazon-s3 paperclip

我设置回形针以保存到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。

1 个答案:

答案 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'