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 
+1

感謝您回覆文檔 - 我花了幾個小時,直到我看到您的文章。 – jpwynn 2012-04-11 01:26:48

+0

我不認爲你從預編譯靜態資產中獲得任何好處。我相信你基本上回退到未預編譯的資產,因爲它找不到它們。這就像在開發模式下運行你的應用程序。 – henry74 2013-02-07 03:03:20

+0

@ henry74在這種情況下唯一的好處是,在嘗試加載最近上傳的圖像時,我不會收到錯誤,否則我不得不在每次上傳時預先編譯資源,這不適用於生產服務器。一個更好的方法是使用一個單獨的資產服務器,如亞馬遜的S3 Simple Storage Service來提供資產,並將應用程序保留在預編譯的內部資產中。 – 2013-02-07 14:50:42

回答

1

,如果你不serve_static_assets這是正常的對我說:

config.serve_static_assets = false 

此行爲是默認設置。

+0

但這會搞亂'css'和'js'? – 2012-02-17 16:29:48

相關問題