¿Tienes una variable en la ruta de las imágenes en Sass?

Quiero tener una variable que contenga la ruta de acceso raíz a todas mis imágenes en mi archivo CSS. No puedo entender si esto es posible en Sass puro (el proyecto web real no es RoR, por lo que no puede usar asset_pipeline o cualquiera de esos elegantes jazz).

Aquí está mi ejemplo que no funciona. Al comstackr, se bloquea en la primera instancia de la variable en la propiedad url de fondo que dice ( "Invalid CSS after "..site/background": expected ")" ).

Definir la función para devolver la ruta:

 //Vars $assetPath : "/assets/images"; //Functions @function get-path-to-assets($assetPath){ @return $assetPath; } 

Usando la función:

 body { margin: 0 auto; background: url($get-path-to-assets/site/background.jpg) repeat-x fixed 0 0; width: 100%; } 

Cualquier ayuda sería apreciada.

¿Has probado la syntax de interpolación ?

 background: url(#{$get-path-to-assets}/site/background.jpg) repeat-x fixed 0 0; 

Sin necesidad de una función:

 $assetPath : "/assets/images"; ... body { margin: 0 auto; background: url(#{$assetPath}/site/background.jpg) repeat-x fixed 0 0; width: 100%; } 

Ver los documentos de interpolación para más detalles.

Estaba buscando una respuesta a la misma pregunta, pero creo que encontré una mejor solución: http://blog.grayghostvisuals.com/compass/image-url/

Básicamente, puedes establecer tu ruta de imagen en config.rb y usar el helper image-url ()

Agregar algo a las respuestas correctas anteriores. Estoy usando netbeans IDE y muestra un error al usar url(#{$assetPath}/site/background.jpg) este método. Fue solo un error de Netbeans y ningún error en la comstackción sass. Pero este formato de código de interrupción de error en netbeans y código se vuelve feo. Pero cuando lo uso dentro de comillas como a continuación, ¡muestra maravilla!

url("#{$assetPath}/site/background.jpg")