2010-08-26 74 views
1

在我的本地開發系統上設置回形針以使用S3非常簡單。但是,我無法在Heroku上使用它。'與Heroku上的回形針和S3無匹配路線'

的成功上傳文件:

[paperclip] Saving attachments. 
[paperclip] saving photos/2/small.jpg 
[paperclip] saving photos/2/original.jpg 

然而,意見,嘗試鏈接到上傳得到一個路由錯誤:

ActionController::RoutingError (No route matches "/photos/small/missing.png" with {:method=>:get}): 

注意它是如何使用「丟失」的文件名並且即使該文件是'.jpg',也使用'.png'作爲擴展名。

我已經嘗試的多種組合:url:path根據不同的博客文章和教程我發現(包括Heroku的文檔)選項與has_attached_file,但沒有一個似乎工作。

在Heroku上使用帶回形針的回形針的正確步驟是什麼?

回答

1

發現問題:需要更新數據庫。

heroku rake:db:migrate 
heroku restart 

我已經做了我認爲應該已經完成​​同樣的事情:heroku rake db:schema:load,但也許不工作或出事了這一過程。

無論如何,這樣做,除去另一個博客上建議的對attr_accessor的調用,解決了這個問題。

0

你能粘貼你的表單的代碼嗎?我猜你已忘記將:html => {:multipart => true})添加到form_for標籤

+0

感謝您的回覆,但不,這不是答案。我的表單設置正確,正如我所說的,在我的開發系統中一切正常。這個問題似乎只發生在Heroku上。 – eksatx 2010-08-26 17:27:47

+0

好的,我明白了。你能否確認圖像是否正在上傳到你的s3生產桶中?你可以使用s3Fox(一個Firefox插件)來做到這一點。另外,你使用的是S3.yml文件還是config-vars? – stephenmurdoch 2010-08-26 17:54:19

+0

我安裝了S3Fox。我如何判斷圖像是否實際上傳?我正在使用S3.yml。 我覺得這個問題實際上是由我爲了解決不同的問題而嘗試的。有關詳細信息,請參閱http://stackoverflow.com/questions/3580592/model-missing-required-attr-accessor-for-photo-file-name-when-uploading-with-pa。 – eksatx 2010-08-27 00:53:07

1

我剛剛有這個完全相同的問題。在開發中運行良好,在prod上將文件上傳到s3,但不會顯示上傳圖像的URL。運行

heroku restart 

是什麼修復它。無需運行db:migrate(當然,除非需要遷移數據庫)。

感謝您的信息!