回形针S3图像路径问题

问题描述:

我刚刚从Rails 3.1升级到Rails 3.2.6,现在我的回形针照片路径在制作时被破坏。回形针S3图像路径问题

photo.rb

if Rails.env == "production" 
    has_attached_file :image, 
    :storage => :s3, 
    :s3_credentials => S3_CREDENTIALS, 
    :url => "/app/public/system/images/:id/:style/:basename.:extension", 

我需要生成的路径是像这样:http://s3.amazonaws.com/photoramblr/app/public/system/images/5/thumb_large/image.jpg

而是上面的URL设置导致:http://s3.amazonaws.com/photoramblr/app/public/app/public/system/images/5/thumb_large/image.jpg

我也尝试设置回形针网址到:url => "/system/images/:id/:style/:basename.:extension"但导致在这个url:http://s3.amazonaws.com/photoramblr/images/5/thumb_large/image.jpg

关于如何正确设置这个的任何想法?

更新:嗯,我还是不明白它是如何工作的,但我“固定”这仅通过将文件移动到它正在研究中的位置

尝试添加路径参数替换URL参数并指定存储文件的存储区名称下的路径,并且将根据存储区和提供的路径构建URL。这是一个链接到paperclip s3 docs进一步的细节。如果你提供一个url参数,它将被视为相对于你的“app/public”。这就解释了为什么你的图像路径加倍“app/public”。 Ryan Bate的paperclip tutorial也解释了这种行为。 在你的情况下,你的代码将如下所示;您的结果链接将是(我假设您的存储桶名称是从您的链接photorambler); s3.amazonaws.com/photorambler/app/public/system/images/5/thumb_large/image.jpg