En mi sitio estático de intermediario, mis imágenes, fuentes y CSS pasan correctamente por la canalización de activos y obtienen su sufijo de huella digital ( img/logo-3e4a3149.png por ejemplo).
Sin embargo, mis archivos mp4 que residen en la carpeta assets/vid simplemente se copian tal como están con el mismo nombre, lo que los vuelve obsoletos (en caché) cuando se construyen y se implementan.
¿Cómo se pueden configurar tipos de activos adicionales (mp4) para que se traten como imágenes en este sentido?
La extensión de archivo '.mp4' no se considera como archivos de activos de forma predeterminada, es decir, no se enumeran en asset_extensions . Agregar la extensión de archivo a la lista soluciona el problema (como ya lo descubrió usted mismo).
Opciones para hacerlo:
config[:asset_extensions] += %w[.mp4] # or config.asset_extensions += %w[.mp4] # or activate :asset_hash do |asset_hash| asset_hash.exts += %w[.mp4] end # or # Passing `ext:` argument overrides list of file extensions! activate :asset_hash, exts: %w[.css .png .jpg .jpeg .webp .svg .svgz .js .gif .ttf .otf .woff .woff2 .eot .ico .map .mp4]Bueno, respondiendo a mi propia pregunta, aunque no estoy seguro de que este sea el enfoque previsto por los desarrolladores.
AssetHash , que proporciona información.asset_hash (aunque la sintaxis mencionada no funciona). Entonces, después de jugar con eso, se me ocurrió esto en mi config.rb
activate :asset_hash # this was always there config.asset_extensions << ".mp4" Parece un poco sucio, ya que todas las demás configuraciones en la configuración del intermediario se configuran elegantemente usando el set :something DSL, pero al menos funciona.
También noté que esta sintaxis funciona:
activate :asset_hash, exts: [".mp4"]pero reemplaza la configuración de fábrica.
Si alguien encuentra una mejor opción, por favor comparta.