我正在合作應用程序,偶爾會遇到麻煩,原因是原始開發人員在Linux中工作,而我在OSX中。我目前的問題與使用ImageMagik和回形針上傳圖像有關。當我嘗試將照片上傳到應用程序時,我收到以下消息。如何配置回形針以保存到不同目錄(取決於環境)
Permission denied - /assets
我敢肯定,這意味着應用程序要保存在某個地方的圖像資源目錄中,但不能因爲它沒有在我的機器上存在。
在模型中,這是解決圖片的代碼。
has_attached_file :avatar,
:url => "/avatars/:id?style=:style",
:styles => { :large => "190x190#", :medium => "70x70#", :thumb => "106x106#" },
:path => "/assets/rob/images/Users/:id/:style/:basename.:extension"
現在,我假設這個目錄存在於原始程序員的計算機上以及該網站的託管位置。但是我沒有這個目錄,所以我這樣做:
:path => "~/robotimus/dev_images/:id/:style/:basename.:extension"
但現在我處於困境,因爲我最終不得不恢復該行我在部署之前。作爲解決方案,我可以編寫一個像這樣的方法。
def images_path
Rails.env.production? ? "/assets/rob/images/Users/" : "~/robotimus/dev_images"
end
然後是:路徑線應該是這樣的:
:path => images_path + "/:id/:style/:basename.:extension"
這聽起來像一個好主意?另外,這個方法應該存儲在哪裏?我的猜測是它屬於config/environment.rb,但我想獲得專家的意見。
我喜歡這種方法。謝謝! –