2012-07-07 152 views
1

我剛剛從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

關於如何正確設置這個的任何想法?

更新:嗯,我還是不明白它是如何工作的,但我「固定」這僅通過將文件移動到它正在研究中的位置

回答

1

嘗試添加路徑參數替換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