2011-12-23 14 views
11

Estoy compilando una página static/404.html estática. Antes de Rails 3.1 puedo referenciarlo con public/style.css. Pero ahora, con el inventario de activos, no estoy seguro de a qué vincularme. Escuché que los estilos se compilarán en asset/application.css. Pero en la producción vendrá con una marca de tiempo.Rails 3.1 estilos de css de tuberías de activos en 404 página estática

¿Cuál es el mejor enfoque para dar estilo al estático 404.html con los estilos normales con los que trabajo?

Respuesta

5

Es cierto que los recursos en 3.1 vienen con un resumen en producción, pero aún puede usar el archivo normal, lo que significa que puede vincular a /assets/application.css y no tendrá ningún problema (¡pruébelo! :)).

+0

Gracias! Supongo que esto significa que no puedo verificarlos en el entorno de desarrollo. Como en los archivos css dev no se combinan. – lulalala

+0

Debería poder hacerlo también. Si llamas a '/ assets/application.css', verás todo el código concatenado. Si lo llamas con la opción '? Body = 1', solo verás lo que hay en ese archivo específico. –

+4

... y si está usando encabezados de vencimiento de futuro lejano, ¿esta solución no lo deja bastante atornillado? ¿Qué sucede si actualiza su application.css y los usuarios ya tienen ese archivo en la memoria caché? No obtendrán tus estilos actualizados. – jsharpe

15

¡También puede precompilar páginas de error estáticas con la canalización de activos!

Dentro application.rb:

config.assets.paths << "#{Rails.root}/app/assets/html" 
config.assets.precompile += %w(404.html 500.html) 

Crear archivos en assets/html/404.html.erb y 500.html.erb y utilizar muchos ayudantes allí, como stylesheet_link_tag, javascript_include_tag, image_tag.

A continuación, la configuración de su servidor para utilizar precompilados public/assets/404.html y public/assets/500.html

Todos los créditos para esta solución inteligente va a http://neovintage.blogspot.cz/2012/02/precompile-static-html-pages-with-rails.html

+2

En Rails 4, esto también es necesario: http://stackoverflow.com/questions/14284278/how-to-include-actionview-helpers-in-the-assets-pipeline – Petr

+1

También DEBEN ser archivos erb , no HAML http://icelab.com.au/articles/precompiled-rails-static-404-and-500-pages/ – xxjjnn

+1

Hay otra buena solución para las páginas de error de HAML: http://devoh.com/blog/ 2012/09/asset-pipeline-error-pages – Darkside

Cuestiones relacionadas