Bootstrap-sass> ie_hex_str no interpretado durante la precompilación de activos

Me encuentro con un problema bastante extraño:

Estoy trabajando con:

  • Rails 3.1.1
  • Bootstrap-sass 1.4.4 (aún no tuve tiempo de actualizar a 2.0)

Un problema conocido en bootstrap-sass 1.4.0 anterior fue el descrito aquí relacionados con las pantallas de gradientes de IE. Esto se solucionó en 1.4.3 con la introducción (por lo que entendí) de la función ie_hex_str y filtros específicos para IE como:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=0);

se dan algunos detalles aquí.

Todavía tengo el problema y mi problema es que después de la precompilación de activos obtengo algo como:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='ie_hex_str(#FFFFFE)', endColorstr='ie_hex_str(#E6E6E6)', GradientType=0);

Es decir, ie_hex_str no se interpretó al compilar los activos. No toqué nada del código bootstrap-sass, así que no entiendo qué está pasando...

¿Alguna idea?

ACTUALIZACIÓN:

Lo "gracioso" es que tengo 2 aplicaciones que usan las mismas versiones de Rails y Bootstrap-sass y hacen prácticamente lo mismo y no reaccionan de la misma manera. Por un lado, ie_hex_str se interpreta correctamente.

preguntado el 22 de mayo de 12 a las 20:05

2 Respuestas

No pude averiguar qué estaba pasando. Parece que las funciones en los mixins de sass de bootstrap-sass no se interpretan durante la precompilación de activos.

Como no pude entender por qué, utilicé una solución alternativa: anulé las definiciones que estoy usando, como btn:

.btn {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFFFE, endColorstr=#FFE6E6E6, GradientType=0);

  .primary {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF049CDB, endColorstr=#FF0064CD, GradientType=0);
  }
}

Usando el color que necesito. Al menos funciona bien.

contestado el 25 de mayo de 12 a las 13:05

El problema parece ser causado por la canalización de activos inicializar_en_precompilar configuración en application.rb (Rails 3.1):

config.assets.initialize_on_precompile = false

El problema de precompilación "ie_hex_str" apareció cuando incluimos esta línea en application.rb. Eliminar/comentar resolvió el problema.

  • Rails 3.1.3
  • bootstrap-sass 1.4.4

Respondido 22 ago 12, 21:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.