我有一个rails 3.2 app,它给了我''我们很抱歉,但出了点问题。'部署到heroku时的消息。检查日志
2013-11-13T17:27:25.599927+00:00 app[web.1]: Started GET "/" for 54.247.188.179 at 2013-11-13 17:26:25 +0000 2013-11-13T17:27:25.599927+00:00 app[web.1]: 2013-11-13T17:27:25.599234+00:00 app[web.1]: Rendered static_pages/root.html.erb within layouts/application (5.9ms) 2013-11-13T17:27:25.599506+00:00 app[web.1]: Completed 500 Internal Server Error in 7ms 2013-11-13T17:27:25.600076+00:00 app[web.1]: Completed 500 Internal Server Error in 7ms 2013-11-13T17:27:25.600076+00:00 app[web.1]: Rendered static_pages/root.html.erb within layouts/application (6.1ms) 2013-11-13T17:27:25.600076+00:00 app[web.1]: 10: 2013-11-13T17:27:25.600076+00:00 app[web.1]: ActionView::Template::Error (static_pages.css isn't precompiled): 2013-11-13T17:27:25.600076+00:00 app[web.1]: 9:
与其他一些非常相似的东西一起。我一直在研究这个问题并看到其他一些类似的问题,所以我会想到你认为我可能遇到的一些潜在问题:
提前致谢,很高兴提供更多信息。
显然,为了让css正确编译,我必须将此行添加到config / environments / production.rb:
config.assets.enabled = true
感谢Tyler那个。
答案 0 :(得分:0)
您需要构建要预编译的资产列表。
例如,在 config / environments / production.rb :
中config.assets.precompile += %w( foo.js foo.scss static_pages.css)
答案 1 :(得分:0)
看起来你没有预编译static_pages.css。我不知道这是否有意,但你有两个选择:
选项1:如果错过预编译资产,请避免回退到资产管道。您可以通过设置:
来实现# config/environments/production.rb
config.assets.compile = true
这将导致rails动态编译未编译的文件,而不是抛出错误(它现在正在执行)。有关此设置的更多信息,请访问:config.assets.compile=true in Rails production, why not?
选项2:确保文件正在预编译。您可以通过设置:
来实现# config/environments/production.rb
config.assets.precompile += ['admin.js', 'admin.css', 'static_pages.css']
这将导致rails预编译并在您的资产管道中包含样式表。有关此设置的更多信息,请访问:What is the purpose of config.assets.precompile?