@import
debe mirada para cualquier .css.scss
archivos que se encuentran en su camino de carga activos, ya sea en app/assets/stylesheets
, lib/assets/stylesheets
, vendor/assets/stylesheets
, o cualquier rutas adicionales añadidos por gemas, por lo que es extraño que usted está recibiendo un error.
Nota que no es necesario pasar un nombre de carpeta cuando se utiliza @import
a menos que el archivo está en un subdirectorio de assets/stylesheets
- sass-rails
se verá a través de cada carpeta en su trayectoria de carga y ver si el recurso existe en relación con dichas carpetas.
Para asegurarse de que lib/assets/stylesheets
se encuentre en la ruta de carga de sus activos (que debería ser, ya que es una opción predeterminada), abra un aviso de Rails y escriba Rails.application.config.assets.paths
. A modo de ejemplo, aquí está el resultado de una de mis aplicaciones:
ruby-1.9.3-p0 :012 > Rails.application.config.assets.paths
=> ["/Users/tom/ruby/qa/app/assets/images",
"/Users/tom/ruby/qa/app/assets/javascripts",
"/Users/tom/ruby/qa/app/assets/stylesheets",
"/Users/tom/ruby/qa/lib/assets/stylesheets",
"/Users/tom/ruby/qa/vendor/assets/javascripts",
"/Users/tom/ruby/qa/vendor/assets/stylesheets",
"/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.14/vendor/assets/javascripts",
"/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/javascripts",
"/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/stylesheets"]
También vale la pena asegurando que sass-rails
es hasta la fecha y ejecutando la última versión, ya que creo que las primeras versiones tenían el apoyo límite en términos de cruz-carpeta @import
.
NB: también creo que la convención sugiere archivos como Bootstrap o jQuery debe ir en la carpeta de vendor/assets
en lugar de lib/assets
Gracias por la ayuda, lo tengo trabajando. Debo haber tenido un error tipográfico en alguna parte. FWIW el archivo bootstrap en cuestión es mi propia creación personalizada que utilizo para iniciar cualquier aplicación nueva, por lo que a mí me parece que es "lib" (compartido entre mis propias aplicaciones) en lugar de "proveedor" (distribuciones públicas). – Andrew
Sí, eso tendría sentido, me uní a los puntos entre su comentario sobre mi respuesta ayer y su pregunta ahora y pensé que estaba usando alguna versión de Bootstrap de Twitter, en ese caso, sin tener en cuenta mi nota al pie, 'lib' es definitivamente el correcto lugar – nobody
Oh ... :) En realidad, la razón principal de mi comentario sobre su respuesta fue que estaba muy contento de encontrar un ejemplo de un arranque en una gema que utiliza la tubería de activos. Me gustaría extraer mi bootstrap personalizado en una joya algún día y la tuya es una gran referencia sobre cómo hacerlo. Por ahora solo moverlo a lib es una buena limpieza. ¡Gracias de nuevo! – Andrew