No puedo obtener la precompilación de la tubería de activos de Rails 3.1 para trabajar en modo de producción. Es siempre falla en las imágenes referenciadas dentro SCSS con un error como:Ruby on Rails 3.1 activos: precompilación e imágenes
$ bundle exec rake assets:precompile RAILS_ENV=production
rake aborted!
rails.png isn't precompiled
(in /home/florian/AssetTest/app/assets/stylesheets/application.css.scss)
Pero cuando miro en el directorio público/activos, la imagen está ahí, por lo que se precompila:
$ ls public/assets | grep rails
rails-dd352fc2630e5f9aa5685ef1d7fe5997.png
El SCSS archivo en este caso solo contiene un poco de código de prueba:
/*
* 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 .
*/
body {
background: #ffffff image-url('rails.png') no-repeat 0 center;
}
Si yo no uso el ayudante de imagen-url en SCSS, pero sólo url ('/ activos/rails.png'), la compilación previa funciona bien, y un archivo manifest.yml es g enerado en público/activos.
Lo interesante es: si cambio el SCSS a image-url ('rails.png') y ejecuto otra precompilación, todavía funciona (supongo que porque la imagen ya está listada en el archivo de manifiesto).
¿Qué estoy haciendo mal aquí? Realmente no quiero ignorar los métodos de ayuda (ya que usarlos es La manera en que debes hacerlo, ¿no?), Y definitivamente no quiero crear el archivo de manifiesto manualmente ...
Acaba de actualizar a Rails 3.1.1rc1 como se sugiere en el problema github, y funciona :-) – fwalch
Esta respuesta parece mala por este motivo: http://stackoverflow.com/questions/8821864/config-assets-compile- true-in-rails-production-why-not – Ringo