ruby-on-rails - rails - the asset is not present in the asset pipeline
blueprint/screen.css no está precompilado (4)
Agregué una referencia a las hojas de estilo del plano en mi archivo application.css. De esta manera, no tengo que cambiar el diseño para modificar las hojas de estilo, solo necesito modificar el archivo application.css, ejecutar los rake assets:precompile
y reiniciar el servidor web (si hacemos un código o similar).
Mi application.css actualmente se ve así:
/*
* This is a manifest file that''ll automatically include all the stylesheets available in this directory
* and any sub-directories. You''re free to add application-wide styles to this file and they''ll appear at
* the top of the compiled file, but it''s generally better to create a new file per style scope.
*= require_self
*= require_tree ./blueprint
*= require_tree .
*/
He seguido el excelente tutorial RoR de Michael Hartl, pero estoy usando RoR 3.1. Soy un novato en RoR 3.1 y necesito ayuda relacionada con la canalización de activos. Aquí está mi problema:
Antes de continuar con la sección 5.3, pensé que me gustaría presionar a Heroku y ver cómo se desarrollan las cosas. Para mi sorpresa, "OBTENER /" da como resultado el error 500. Todo salió bien en mi entorno de desarrollo local. Luego intenté ejecutar mi sample_app local en producción-entorno ( rails s -e production
). Mismo resultado, error 500:
Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Pages#home
Showing /Users/john/Projects/sample_app/app/views/layouts/_stylesheets.html.erb where line #4 raised:
blueprint/screen.css isn''t precompiled
Información de apoyo:
- Puse el directorio CSS de blueprint en proveedor / assets / stylesheets.
Seguí el consejo de Michael sobre la sección 13.1.4 y tengo lo siguiente como mi aplicación / vistas / diseños / aplicación.html.erb:
<!DOCTYPE html> <html> <head> <title><%= title %></title> <%= render ''layouts/stylesheets'' %> <%= stylesheet_link_tag "application" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head> <body> <div class="container"> <%= render ''layouts/header'' %> <section class="round"> <%= yield %> </section> <%= render ''layouts/footer'' %> </div> </body> </html>
Contenido de la aplicación / views / layouts / _stylesheets.html.erb:
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <%= stylesheet_link_tag ''blueprint/screen'', :media => ''screen'' %> <%= stylesheet_link_tag ''blueprint/print'', :media => ''print'' %> <!--[if lt IE 8]><%= stylesheet_link_tag ''blueprint/ie'' %><![endif]-->
He ejecutado los activos de ejecución del bundle: precompilación.
Contenido de public / assets / manifest.yml:
--- logo.png: logo-8e0a5ad292fbb13a2b07e68fa3995406.png rails.png: rails-bd9ad5a560b5a3a7be0808c5cd76a798.png blueprint/plugins/buttons/icons/cross.png: blueprint/plugins/buttons/icons/cross-2ebcd25368006d1b7b0c5b7d6b523ab3.png blueprint/plugins/buttons/icons/key.png: blueprint/plugins/buttons/icons/key-55237526967cbcab3e8cfb12f0029d88.png blueprint/plugins/buttons/icons/tick.png: blueprint/plugins/buttons/icons/tick-3f5fc1f52b505b93f88263e0432d25ce.png blueprint/plugins/buttons/readme.txt: blueprint/plugins/buttons/readme-3ff7f5dbb0288d71f70682fdbe9d86ec.txt blueprint/plugins/fancy-type/readme.txt: blueprint/plugins/fancy-type/readme-e7ed185d1a9f23256d418ab929b464d9.txt blueprint/plugins/link-icons/icons/doc.png: blueprint/plugins/link-icons/icons/doc-b071fd74b88ff38cda8360a53f493013.png blueprint/plugins/link-icons/icons/email.png: blueprint/plugins/link-icons/icons/email-28104e72b3418737d4b9b329c12ec358.png blueprint/plugins/link-icons/icons/external.png: blueprint/plugins/link-icons/icons/external-ee6d976ddb80125fafe1a33c6f8aed10.png blueprint/plugins/link-icons/icons/feed.png: blueprint/plugins/link-icons/icons/feed-59bc8604661681639d25cb7015a32c38.png blueprint/plugins/link-icons/icons/im.png: blueprint/plugins/link-icons/icons/im-afeeb6e0b652c1edb1441bf0fb428596.png blueprint/plugins/link-icons/icons/lock.png: blueprint/plugins/link-icons/icons/lock-d73c4b3b57ce72cb6dbd8b265507ff75.png blueprint/plugins/link-icons/icons/pdf.png: blueprint/plugins/link-icons/icons/pdf-c4c543e5103a8516839a7846b91e1ac4.png blueprint/plugins/link-icons/icons/visited.png: blueprint/plugins/link-icons/icons/visited-fb2370448bc4ea5d079e963a8c0d900b.png blueprint/plugins/link-icons/icons/xls.png: blueprint/plugins/link-icons/icons/xls-5399729cd31dffc492a04b3805cd0be1.png blueprint/plugins/link-icons/readme.txt: blueprint/plugins/link-icons/readme-42c02030199cd36a671d4b623cb4dc36.txt blueprint/plugins/rtl/readme.txt: blueprint/plugins/rtl/readme-8d11bf76e19fb3fc7dbc6c2ddb54b92d.txt blueprint/src/grid.png: blueprint/src/grid-973add038ed86febca85f03e8b35b94a.png jquery-ui.min.js: jquery-ui-7e33882a28fc84ad0e0e47e46cbf901c.min.js jquery.min.js: jquery-8a50feed8d29566738ad005e19fe1c2d.min.js application.js: application-a552e1db33b8be6a42eedf1261916f3c.js application.css: application-214e0c0742f20b334e8a7776e0a4c71d.css
No veo blueprint / screen.css en manifest.yml.
¿Qué me estoy perdiendo?
De http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets
Si tiene otros manifiestos o hojas de estilo individuales y archivos de JavaScript para incluir, puede agregarlos a la matriz de precompilación
Esto significa que en su config / environments / production.rb, establece
config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )
o un catchall:
config.assets.precompile += %w( *.css *.js )
Desde mi propia experiencia con este problema, donde también estaba pasando por el excelente tutorial RoR de Michael Hartl, había un paso que creo que podría quedar en este punto ...
bundle exec rake assets:precompile
git add public/assets
git commit -m "vendor compiled assets"
git push heroku
Encontré esto here .
Es posible que desee precompilar sus activos en producción como se describe anteriormente. Y si usa capistrano, puede hacerlo después de la actualización del código:
require ''bundler/capistrano''
after ''deploy:update_code'' do
run "cd #{release_path}; RAILS_ENV=#{rails_env} bundle exec rake assets:precompile"
end