¿Cómo uso CSS con una aplicación Ruby on Rails?

¿Cómo uso CSS con RoR? Cuando enlace externamente, nunca puedo ver los archivos. Completé el archivo .css con todas las carpetas en las que pude pensar … vistas, controlador, plantilla y nada parece funcionar.

¿Qué debo hacer para habilitar los archivos CSS externos con una aplicación de Rails? Soy nuevo en los Rails, así que perdónenme si esto es básico.

Coloque los archivos CSS en public / stylesheets y luego use:

<%= stylesheet_link_tag "filename" %> 

para vincular a la hoja de estilos en sus diseños o archivos erb en sus vistas.

De manera similar, coloca imágenes en público / imágenes y archivos javascript en public / javascripts.

Si está utilizando rails> versión 3, entonces hay un concepto llamado asset pipeline . Puedes agregar tu CSS a

 app/asset/stylesheets 

luego la aplicación lo detectará automáticamente. (Esto es útil ya que los Rails comprimirán automáticamente los archivos css)

lea más aquí sobre la cartera de activos

Hice lo siguiente …

  1. coloque su archivo css en la carpeta app/assets/stylesheets .
  2. Agregue el enlace de la hoja de estilo <%= stylesheet_link_tag "filename" %> en su archivo de diseños predeterminado (lo más probable es application.html.erb )

Recomiendo esto sobre el uso de su carpeta pública. También puede hacer referencia a la hoja de estilo en línea, como en su página de índice.

Utilice la etiqueta de la hoja de estilo de los Rails para vincular su main.css como este

 <%= stylesheet_link_tag "main" %> 

Ir

 config/initializers/assets.rb 

Una vez dentro de assets.rb agregue el siguiente fragmento de código justo debajo de Rails.application.config.assets.version = '1.0'

 Rails.application.config.assets.version = '1.0' Rails.application.config.assets.precompile += %w( main.css ) 

Reinicia tu servidor.

La publicación original podría haber sido cierta en 2009, pero ahora en realidad es incorrecta ahora, y ni siquiera se requiere vinculación para la hoja de estilos, como veo mencionado en algunas de las otras respuestas. Rails ahora hará esto por usted de manera predeterminada.

  • Coloque cualquier hoja nueva .css (u otra) en la aplicación / assets / stylesheets
  • Pruebe su servidor con el servidor rails-root / scripts / rails y verá que el enlace se agrega por los Rails.

Puedes probar esto con una ruta en tu navegador como testerverpath: 3000 / assets / filename_to_test.css? Body = 1

Para agregar a lo anterior, el lugar más obvio para agregar stylesheet_link_tag está en el diseño de la aplicación global – application.html.erb.

¿Has intentado ponerlo en tu carpeta pública? Cada vez que tengo imágenes o cosas similares que necesito hacer referencia externamente, pongo todo allí.