2010-08-08 85 views
3

has_attached_file :image, :storage => :s3, :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", :path => "/:style/:filename"回形针Amazon S3的设置与Heroku的

我不知道什么是:path => "/:style/:filename"

我也想包括这个附加图像的样式,那是什么:路径是什么? 我想要的风格是这样的::styles => { :medium => "275x275>", :thumb => "175x155>" }

基本上什么是怎么回事的是,我在heroku设置,我不得不使用S3这看起来非常简单只是不习惯这个附件约定的东西。

此外,我刚刚注册了一个S3帐户...但heroku是吐它的自由或东西。这是怎么回事?

回答

9

'路径'指定了文件将存储在S3上的位置。因此,如果你指定的附件为:

has_attached_file :image, 
    :styles => { :medium => "275x275>", :thumb => "175x155>" }, 
    :storage => :s3, :s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml", 
    :path => "user/:attachment/:style/:id.:extension" 

样本网址为:

http://s3.amazonaws.com/bucket/user/image/thumb/347853856.jpg

最后,S3是不是免费的(Heroku的只是指出传输/上传不计算在基于使用情况的计算中)。如果您需要更多信息,Heroku的documentation非常棒。

+0

凯文:是否回形针仍然需要你写在Heroku上的本地文件系统为你上传的文件?例如,文件是否首先转到Heroku dyno(特别是处理过的图像),然后转到S3?或者Paperclip可以直接进入S3并绕过Heroku? – iwasrobbed 2011-05-24 16:55:23

+0

@iWasRobbed回形针将在您的Rails应用程序中运行,因此将在Heroku上运行。在这种情况下,该文件将首先通过Heroku。 – 2011-05-24 16:59:43

4

注意,在Rails的3.1及以上,这应该是Rails.root而不是RAILS_ROOT