繁体   English   中英

Rails 500错误:application.css未预编译

[英]Rails 500 Error: application.css isn't precompiled

我已经在Mediatemple的Ubuntu linux box(ve)服务器上使用Apache在Passenger上运行Rails。 当我尝试加载任何页面时,我的应用程序给了我500错误(Rails错误,而不是Apache错误): http//www.mvngmtns.com

我在config / environments / production.rb中看到一篇关于更改此行的文章:

    config.assets.compile = true

但这并没有解决我的问题。 有人可以帮忙吗?

我的development.log:

Started GET "/" for 72.225.170.239 at 2012-06-29 15:28:43 -0700
Processing by HomeController#index as HTML
Rendered application/_logo.html.erb (0.6ms)
Rendered application/_navbar.html.erb (1.4ms)
Rendered home/index.html.erb within layouts/application (2.6ms)
Completed 500 Internal Server Error in 6ms

ActionView::Template::Error (application.css isn't precompiled):
2: <html>
3: <head>
4:   <title>Moving Mountains<%= get_title %></title>
5:   <%= stylesheet_link_tag    "application", :media => "all" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8:
app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb___2841110860658336572_129641540'
app/controllers/home_controller.rb:6:in `index'

按要求,跑了

    rake assets:precompile --trace RAILS_ENV=production
    touch /tmp/restart.txt

但仍然是同样的错误。 以下是跟踪所说的内容:

newguy@mvngmtns:/var/www/movingmountains$ rake assets:precompile --trace RAILS_ENV=production
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/usr/local/rvm/rubies/ruby-1.9.2-head/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-head@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
** Invoke assets:precompile:nondigest (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:non digest

在浏览器中我仍然有相同的“500 - 我们很抱歉,但出了点问题”,缓存:apache日志文件中的[GET /]未命中。

设定后

config.assets.compile = true

你还应该运行:

 rake assets:precompile --trace RAILS_ENV=production

请参阅: rails 3.1.0 ActionView :: Template :: Error(application.css未预编译)

我不知道有关Mediatemple的详细信息,但您可能需要在部署之前预先编译资产:

rake assets:precompile

几件事:

  1. 检查样式表是否实际被编译 - 它将类似于public/assets/application-XXX.css
  2. Passenger查找APP_DIR/tmp/restart.txt /tmp/restart.txt ,而不是/tmp/restart.txt ,因此请确保在正确的位置touch该文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM