Amazon S3中的Errno :: ENOENT(无此类文件或目录)

Chi*_*iya 5 heroku amazon-s3 ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我有使用Amazon S3将图像发布到存储桶中的应用程序部署到heroku的应用程序。但是,当获取相同的图像时,会出现错误:

Errno::ENOENT (No such file or directory showing path s3.amazonaws.com/bucket_name/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115)
Run Code Online (Sandbox Code Playgroud)

无法在浏览器的URL中进行相同的路径复制和粘贴。如果我将存储桶名称用作终点,则可以使用以下路径

/bucket_name.s3.amazonaws.com/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115.
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在我的模型中配置此URL。我正在按照heroku的方式配置aws-sdk。

 https://devcenter.heroku.com/articles/paperclip-s3
Run Code Online (Sandbox Code Playgroud)

模型has_attached_file似乎我在这里缺少什么。有关其余的配置,请检查上面的链接。

has_attached_file :image, :styles => { :medium => "100x100>", :thumb => "100x100>" }
Run Code Online (Sandbox Code Playgroud)

谢谢

Chi*_*iya 2

在 config/initializers/paper_clip.rb 中包含给定的代码解决了我的问题。

    Paperclip::Attachment.default_options.merge!(
        :url => ':s3_domain_url',
        :path => 'app/public/:class/:attachment/:id_partition/:style/:filename'
    )
Run Code Online (Sandbox Code Playgroud)