2013-07-16 109 views
0

我得到這個奇怪的錯誤。我已將kids.css.less添加到我的application.css中。 我能避免這個錯誤,如果我在application(and/or environment file)陣列添加到config.assets.precompile,但這不是解決方案,我想用ActionView :: Template :: Error(kids.css沒有預編譯):

這裏是我的app.css.less:

/* 
*= require_self 
*= require kids.css.less 
*/ 


@import "theme_venera.less"; 

.white-card { 
    .kid-word { 
    h5 { font-size: @fontSizeSmall;} 
    } 
} 

這導致我kids.css沒有經過預編譯。

我在想什麼?

UPD:當我僅在我的生產服務器上部署時發生此錯誤。在我的開發環境中,我擁有「活的」資產。我正在使用capistrano進行部署,並且我的腳本包含資源:預編譯

回答

0

在發展,你應該是資產調試(禁用管道),以避免鏈輪來連接,然後再縮小您的資產:

config.assets.debug = true 

如果你不這樣做,Rails的預計資產進行編譯:

rake assets:precompile 

如果你不預編譯它們,它會嘗試編譯他們的要求,如果你打開它:

config.assets.compile = true 

否則,如果您不禁用管道,請不要自行編譯它們,並且不要讓Rails執行此操作,否則會給您帶來的錯誤。在生產中,通常的做法是預先編譯它們。實時編譯可能會增加大量開銷,所以您不應該依賴它。但是,如果在預編譯之後將其保留爲啓用狀態則可以:Rails將首先使用您的編譯,如果找不到要查找的資產,則會將其編譯爲「緊急程序」以避免發生錯誤。

你在這裏的所有信息:

http://guides.rubyonrails.org/asset_pipeline.html

+0

我已閱讀該指南,但沒有發現任何可以幫助我的東西。更新我的問題 – Avdept

+0

我編輯了我的答案來解釋更多。再次,我的鏈接的生產部分包含您需要的一切。 – bluehallu

0

在生產模式下運行rake assets:precompile以編譯和壓縮樣式表,然後運行應用程序。

+0

這是一個壞主意,假設他在發展模式。 – bluehallu

+0

默認情況下,開發中的資產的調試模式處於打開狀態,所以我認爲他處於生產模式。 –

相關問題