2011-12-13 152 views
0

我正在使用rails 3应用程序并尝试将其部署到生产环境中。 我正在使用capistrano来部署我的应用程序并将其配置为在update_code任务之后预编译资产。Rails 3.1资产预编译

事情是一切工作正常,当我部署应用程序。 通过下面的服务器生产日志,我看到这一点:

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' 

我只是不明白是怎么服务器能够告诉我资产已经编译,并且在它告诉我实际上文件没有被编译之后。

有没有人遇到过这种问题?

感谢您的帮助。

+0

你有没有`restart`应用服务器? – 2011-12-13 21:53:58

+0

嗨Nizzle先生,我尝试了几次后更新完成重新启动Apache。在预编译之后,我也有这个任务 - 在“资产:预编译”,“乘客:重启”之后 - 它触摸了tmp/restart.txt – Elendir 2011-12-14 10:13:49

回答

1

一种解决方法是告诉生产环境不检查在config/environments/production.rb预编译并设置行:

config.assets.compile = false 

config.assets.compile = true 

重新启动服务器,然后你应该检查HALM正在寻找style.css应该是assets/style.css


UPDATE

这里的另一种选择

告诉你config/environments/production.rb编译恰好文件,以确保它被编译。

config.assets.precompile += %w(style.css)

看到这对https://stackoverflow.com/a/7541958/295228

相关问题