2
我曾在我的production.rb
此設置:的Rails 3.1.3生產,資產管道:沒有路由匹配
config.assets.compile = true
但在使用最近用戶上傳的圖片中,我仍然得到這個錯誤
ActionController::RoutingError (No route matches [GET] "/assets...
我在這裏做錯了什麼?
我已經在生產環境的服務器上測試了這個與乘客一起運行的測試,並且我在本地機器上用WEBrick
在生產環境中測試了這一點。
=====解決=======
修好了我的這種設置情況對我production.rb
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
# Generate digests for assets URLs
config.assets.digest = false
感謝您回覆文檔 - 我花了幾個小時,直到我看到您的文章。 – jpwynn 2012-04-11 01:26:48
我不認爲你從預編譯靜態資產中獲得任何好處。我相信你基本上回退到未預編譯的資產,因爲它找不到它們。這就像在開發模式下運行你的應用程序。 – henry74 2013-02-07 03:03:20
@ henry74在這種情況下唯一的好處是,在嘗試加載最近上傳的圖像時,我不會收到錯誤,否則我不得不在每次上傳時預先編譯資源,這不適用於生產服務器。一個更好的方法是使用一個單獨的資產服務器,如亞馬遜的S3 Simple Storage Service來提供資產,並將應用程序保留在預編譯的內部資產中。 – 2013-02-07 14:50:42