Pregunta

Mi plano CSS funciona en mi máquina local, pero cuando presiono a Heroku recibo un error.

Tengo un plan almacenado en mi app/assets/stylesheets folder Y aquí están las etiquetas de hoja de estilo que estoy usando:

<%= stylesheet_link_tag    "application" %>
<%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
<%= stylesheet_link_tag 'blueprint/print',  :media => 'print' %>

En mis registros de Heroku, dice Application.css no es precompilado y creo que ese podría ser el error, pero no sé cómo solucionarlo.

Aquí están mis registros de Heroku:

2011-09-04T07:35:59+00:00 heroku[web.1]: Idling
2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from up to down
2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from down to created
2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from created to starting
2011-09-04T07:36:01+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-09-04T07:36:01+00:00 app[web.1]: >> Stopping ...
2011-09-04T07:36:01+00:00 heroku[web.1]: Process exited
2011-09-04T07:36:04+00:00 heroku[web.1]: Starting process with command `thin -p 44288 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-04T07:36:07+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2011-09-04T07:36:07+00:00 app[web.1]: >> Maximum connections set to 1024
2011-09-04T07:36:07+00:00 app[web.1]: >> Listening on 0.0.0.0:44288, CTRL+C to stop
2011-09-04T07:36:08+00:00 heroku[web.1]: State changed from starting to up
2011-09-04T08:41:45+00:00 heroku[web.1]: Idling
2011-09-04T08:41:46+00:00 heroku[web.1]: State changed from up to down
2011-09-04T08:41:46+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-09-04T08:41:46+00:00 app[web.1]: >> Stopping ...
2011-09-04T08:41:47+00:00 heroku[web.1]: Process exited
2011-09-04T16:05:59+00:00 heroku[slugc]: Slug compilation started
2011-09-04T16:06:10+00:00 heroku[api]: Deploy 9ec665f by XXXXXXXX@yahoo.com
2011-09-04T16:06:10+00:00 heroku[api]: Release v9 created by XXXXXXXX@yahoo.com
2011-09-04T16:06:11+00:00 heroku[slugc]: Slug compilation finished
2011-09-04T16:06:19+00:00 heroku[web.1]: Unidling
2011-09-04T16:06:19+00:00 heroku[web.1]: State changed from down to created
2011-09-04T16:06:19+00:00 heroku[web.1]: State changed from created to starting
2011-09-04T16:06:21+00:00 heroku[web.1]: Starting process with command `thin -p 32066 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-04T16:06:25+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2011-09-04T16:06:25+00:00 app[web.1]: >> Maximum connections set to 1024
2011-09-04T16:06:25+00:00 app[web.1]: >> Listening on 0.0.0.0:32066, CTRL+C to stop
2011-09-04T16:06:26+00:00 heroku[web.1]: State changed from starting to up
2011-09-04T16:06:27+00:00 app[web.1]: 
2011-09-04T16:06:27+00:00 app[web.1]: 
2011-09-04T16:06:27+00:00 app[web.1]: Started GET "/" for 65.7.186.42 at 2011-09-04 09:06:27 -0700
2011-09-04T16:06:28+00:00 app[web.1]: 
2011-09-04T16:06:28+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2011-09-04T16:06:28+00:00 app[web.1]: 
2011-09-04T16:06:28+00:00 app[web.1]:   
2011-09-04T16:06:28+00:00 app[web.1]: 
2011-09-04T16:06:28+00:00 app[web.1]: cache: [GET /] miss
2011-09-04T16:06:28+00:00 heroku[router]: GET corporatefox.heroku.com/ dyno=web.1 queue=0 wait=0ms service=754ms status=404 bytes=728
2011-09-04T16:06:28+00:00 heroku[nginx]: 65.7.186.42 - - [04/Sep/2011:09:06:28 -0700] "GET / HTTP/1.1" 404 728 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" corporatefox.heroku.com
2011-09-04T16:06:35+00:00 app[web.1]: 
2011-09-04T16:06:35+00:00 app[web.1]: 
2011-09-04T16:06:35+00:00 app[web.1]: Started GET "/pages/home" for 65.7.186.42 at 2011-09-04 09:06:35 -0700
2011-09-04T16:06:35+00:00 app[web.1]:   Processing by PagesController#home as HTML
2011-09-04T16:06:35+00:00 app[web.1]: Rendered pages/home.html.erb within layouts/application (17.0ms)
2011-09-04T16:06:35+00:00 app[web.1]: Rendered layouts/_stylesheets.html.erb (25.3ms)
2011-09-04T16:06:35+00:00 app[web.1]: Completed 500 Internal Server Error in 92ms
2011-09-04T16:06:35+00:00 app[web.1]: 
2011-09-04T16:06:35+00:00 app[web.1]: ActionView::Template::Error (application.css isn't precompiled):
2011-09-04T16:06:35+00:00 app[web.1]:     1: <%= stylesheet_link_tag 'application' %>
2011-09-04T16:06:35+00:00 app[web.1]:     2: <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
2011-09-04T16:06:35+00:00 app[web.1]:     3: <%= stylesheet_link_tag 'blueprint/print',  :media => 'print' %>
2011-09-04T16:06:35+00:00 app[web.1]:   app/views/layouts/_stylesheets.html.erb:1:in `_app_views_layouts__stylesheets_html_erb__1720273165801032019_31408840'
2011-09-04T16:06:35+00:00 app[web.1]:   app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb___1444640675865794326_32133320'
2011-09-04T16:06:35+00:00 app[web.1]: 
2011-09-04T16:06:35+00:00 app[web.1]: 
2011-09-04T16:06:35+00:00 app[web.1]: cache: [GET /pages/home] miss
2011-09-04T16:06:35+00:00 heroku[router]: GET corporatefox.heroku.com/pages/home dyno=web.1 queue=0 wait=0ms service=120ms status=500 bytes=728
2011-09-04T16:06:35+00:00 heroku[nginx]: 65.7.186.42 - - [04/Sep/2011:09:06:35 -0700] "GET /pages/home HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" corporatefox.heroku.com
2011-09-04T16:06:42+00:00 app[web.1]: 
2011-09-04T16:06:42+00:00 app[web.1]: 
2011-09-04T16:06:42+00:00 app[web.1]: Started GET "/" for 65.7.186.42 at 2011-09-04 09:06:42 -0700
2011-09-04T16:06:42+00:00 app[web.1]: 
2011-09-04T16:06:42+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2011-09-04T16:06:42+00:00 app[web.1]:   
2011-09-04T16:06:42+00:00 app[web.1]: 
2011-09-04T16:06:42+00:00 app[web.1]: 
2011-09-04T16:06:42+00:00 app[web.1]: cache: [GET /] miss
2011-09-04T16:06:42+00:00 heroku[nginx]: 65.7.186.42 - - [04/Sep/2011:09:06:42 -0700] "GET / HTTP/1.1" 404 728 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" corporatefox.heroku.com
2011-09-04T16:14:42+00:00 heroku[slugc]: Slug compilation started
2011-09-04T16:14:53+00:00 heroku[api]: Deploy 2fed989 by foxgrade@yahoo.com
2011-09-04T16:14:53+00:00 heroku[api]: Release v10 created by foxgrade@yahoo.com
2011-09-04T16:14:54+00:00 heroku[web.1]: State changed from up to bouncing
2011-09-04T16:14:54+00:00 heroku[web.1]: State changed from bouncing to created
2011-09-04T16:14:54+00:00 heroku[web.1]: State changed from created to starting
2011-09-04T16:14:54+00:00 heroku[slugc]: Slug compilation finished
2011-09-04T16:14:56+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-09-04T16:14:56+00:00 app[web.1]: >> Stopping ...
2011-09-04T16:14:57+00:00 heroku[web.1]: Process exited
2011-09-04T16:14:57+00:00 heroku[web.1]: Starting process with command `thin -p 48112 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-04T16:15:01+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2011-09-04T16:15:01+00:00 app[web.1]: >> Maximum connections set to 1024
2011-09-04T16:15:01+00:00 app[web.1]: >> Listening on 0.0.0.0:48112, CTRL+C to stop
2011-09-04T16:15:01+00:00 heroku[web.1]: State changed from starting to up
2011-09-04T16:15:02+00:00 app[web.1]:   Processing by PagesController#home as HTML
2011-09-04T16:15:02+00:00 app[web.1]: Rendered pages/home.html.erb within layouts/application (13.2ms)
2011-09-04T16:15:02+00:00 app[web.1]: Rendered layouts/_stylesheets.html.erb (24.1ms)
2011-09-04T16:15:02+00:00 app[web.1]: Completed 500 Internal Server Error in 86ms
2011-09-04T16:15:02+00:00 app[web.1]: 
2011-09-04T16:15:02+00:00 app[web.1]: ActionView::Template::Error (application.css isn't precompiled):
2011-09-04T16:15:02+00:00 app[web.1]:     1: <%= stylesheet_link_tag    "application" %>
2011-09-04T16:15:02+00:00 app[web.1]:     2: <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
2011-09-04T16:15:02+00:00 app[web.1]:     3: <%= stylesheet_link_tag 'blueprint/print',  :media => 'print' %>
2011-09-04T16:15:02+00:00 heroku[router]: GET corporatefox.heroku.com/pages/home dyno=web.1 queue=0 wait=0ms service=755ms status=500 bytes=728
2011-09-04T16:15:02+00:00 app[web.1]:   app/views/layouts/_stylesheets.html.erb:1:in `_app_views_layouts__stylesheets_html_erb__4527639971944011061_33003340'
2011-09-04T16:15:02+00:00 app[web.1]:   app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__2040511387187567951_33642800'
2011-09-04T16:15:02+00:00 app[web.1]: 
2011-09-04T16:15:02+00:00 app[web.1]: 
2011-09-04T16:15:02+00:00 app[web.1]: cache: [GET /pages/home] miss
2011-09-04T16:15:02+00:00 heroku[nginx]: 65.7.186.42 - - [04/Sep/2011:09:15:02 -0700] "GET /pages/home HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" corporatefox.heroku.com
¿Fue útil?

Solución

Acabo de tener el mismo problema. Lo resolví colocando config.assets.compile = true en config/environments/production.rb

Editar: esto funciona bien mientras se desarrolla, pero tiene una penalización de rendimiento a medida que la compilación se realiza en tiempo de ejecución. Vea la respuesta a continuación para obtener una mejor solución

Otros consejos

Una forma de solucionar esto es precompilar los activos ejecutando rake assets:precompile. Debe incluir un tiempo de ejecución de JavaScript para esto agregando

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'therubyracer'
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"a
  gem 'uglifier'
end

hacia Gemfile y correr bundle install.

Intenta configurar tu:

config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )

en config/environments/production.rb

Estoy seguro de que alguien con más experiencia que yo puede decirnos por qué todos los archivos CSS no están previamente compilados como estándar. ¡Yo también estoy comenzando!

Aquí hay al menos una discusión:Rails 3.1 Pipeline de activos: archivos faltantes del público/activos: ¿por qué no es esto el valor predeterminado?

Traté de ejecutar activos de rastrillo: precompilar y no pude hacer que funcionara. Tengo el grupo de activos en mi archivo gem. Leí en alguna parte que debo asegurarme de precompilar el env de producción:

RAILS_ENV=production bundle exec rake assets:precompile

Eso tampoco ayudó. Terminé haciendo el config.assets.compile = true, que funcionó bien, pero me encantaría que funcione la solución real.

Nunca consigo el -----> Preparing Rails asset pipeline Al empujar a Heroku que dicen que uno debería conseguir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top