2011-10-04 12 views
7

estoy consiguiendo el error siguiente:Rails 3.1 no precompila imágenes a las que no hace referencia CSS.

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Photos#edit 

Showing .../app/views/photos/_form.html.haml where line #49 raised: 

taxonomy/focus-building.jpg isn't precompiled 

Extracted source (around line #49): 

46:        = focus.code 
47:       .tooltip 
48:        %span.name= focus.name 
49:        = image_tag("taxonomy/focus-#{focus.code.downcase.dehumanize}.jpg") 
50:    /Help Overlay 
51:     .help 
52:      %a.overlay{:href=>"#", :rel=>'#help-focus'} Learn more about focus 

Este archivo de imagen se encuentra en app/assets/images/taxonomy/focus-building.jpg. He ejecutado rake assets:precompile RAILS_ENV=production, pero hasta donde puedo decir que las imágenes no se están copiando al directorio public/assets.

Extrañamente, todos los activos que se mencionan en SCSS usando image-url() funcionan bien. ¿Por qué esta imagen informa que no se precompila cuando se hace referencia con image_tag?

+0

¿Estás en Rails 3.1.1 o 3.1.0? – Christos

+0

Estoy en Rails 3.1.1 – Andrew

+0

Estoy agregando un +1 en esto. Estoy en Rails 3.1.3 y estoy teniendo el mismo problema. Estoy a punto de perforar la tubería de activos en la cara. –

Respuesta

0

Tuve el mismo problema con image_tag. Resolví el problema usando la compilación en vivo.

En production.rb

  • config.assets.compile = true
+1

Bien, eso funcionaría, excepto que mi entorno de implementación no puede hacer compilación en vivo por el momento. Desafortunadamente, esta no es una opción. – Andrew

+1

Es una solución alternativa, y por lo tanto funciona en un apuro, pero todavía no debería activarse en producción si le preocupa el rendimiento (y seamos sinceros) en producción, * le preocupa el rendimiento *. –

2

Si usted tiene la opción de activar assets.digest esto añadirá un hash al final del nombre y por lo que una la referencia estática a ese archivo ya no funcionará, cambie los activos referenciados estáticamente para que usen los métodos auxiliares.

+0

Por lo que vale, esto pareció ayudarme. De alguna manera, permitir resúmenes en modo de producción terminó haciendo que el servidor sirva los activos de manera más confiable. Todavía quiero perforar la tubería de activos en la cara, sin embargo. –

Cuestiones relacionadas