[英]Rails 3.1 assets precompilation
我正在開發Rails 3應用程序,並試圖將其部署在生產環境中。 我正在使用capistrano部署我的應用程序,並將其配置為在update_code任務之后預編譯資產。
問題是,當我部署應用程序時,一切正常。 通過跟蹤服務器生產日志,我可以看到:
Compiled application.js (6ms) (pid 7552)
Compiled jquery.js (4ms) (pid 7552)
Compiled jquery_ujs.js (0ms) (pid 7552)
Compiled home.js (94ms) (pid 7552)
Compiled libs/dd_belatedpng.js (0ms) (pid 7552)
Compiled libs/modernizr-1.7.min.js (0ms) (pid 7552)
Compiled plugins.js (0ms) (pid 7552)
Compiled script.js (0ms) (pid 7552)
Compiled user_sessions.js (93ms) (pid 7552)
Compiled users.js (92ms) (pid 7552)
Compiled application.css (3ms) (pid 7552)
Compiled handheld.css (0ms) (pid 7552)
Compiled home.css (55ms) (pid 7552)
Compiled style.css (0ms) (pid 7552)
Compiled user_sessions.css (1ms) (pid 7552)
Compiled users.css (0ms) (pid 7552)
Compiled application.js (6ms) (pid 7541)
Compiled jquery.js (4ms) (pid 7541)
Compiled jquery_ujs.js (0ms) (pid 7541)
Compiled home.js (95ms) (pid 7541)
Compiled libs/dd_belatedpng.js (0ms) (pid 7541)
Compiled libs/modernizr-1.7.min.js (0ms) (pid 7541)
Compiled plugins.js (0ms) (pid 7541)
Compiled script.js (0ms) (pid 7541)
Compiled user_sessions.js (93ms) (pid 7541)
Compiled users.js (94ms) (pid 7541)
Compiled application.css (2ms) (pid 7541)
Compiled handheld.css (0ms) (pid 7541)
Compiled home.css (1ms) (pid 7541)
Compiled style.css (0ms) (pid 7541)
Compiled user_sessions.css (0ms) (pid 7541)
Compiled users.css (0ms) (pid 7541)
但是,如果嘗試在瀏覽器中顯示主頁,則會得到以下信息:
ActionView::Template::Error (style.css isn't precompiled):
14:
15: %link{:rel => "shortcut icon", :href => "/favicon.ico" }
16: %link{:rel => "apple-touch-icon", :href => "/apple-touch-icon.png"}
17: = stylesheet_link_tag "style"
18: = javascript_include_tag "libs/modernizr-1.7.min"
19: = javascript_include_tag "application"
20:
app/views/layouts/application.html.haml:17:in `_app_views_layouts_application_html_haml__1713356285_69878424198520'
我只是不明白服務器如何告訴我資產已編譯,而在它告訴我實際上文件沒有被編譯之后。
有人遇到過這種問題嗎?
謝謝你的幫助。
一種解決方案是告訴生產環境不要檢查config/environments/production.rb
中的預編譯內容,並設置以下行:
config.assets.compile = false
至
config.assets.compile = true
重新啟動服務器,然后你應該檢查哪里HALM
正在尋找style.css
這應該是assets/style.css
更新
這是另一個選擇
告訴您的config/environments/production.rb
完全編譯該文件,以確保它正在被編譯。
config.assets.precompile += %w( style.css )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.