archivos producidos por el activo: la precompilación no coincide con las URL generadas por stylesheet_link_tag (resumen faltante) en el sitio mínimo de Rails 4
Estoy usandoRuby 2.0.0-p247
yRails 4.0.0
Si hago un sitio mínimo de Rails 4 como este:
rails new minimal
cd minimal
rails generate controller home index
tee config/routes.rb <<EOF
Minimal::Application.routes.draw do
root 'home#index'
end
EOF
Luego precompila los activos con
rake assets:precompile
Genera activos como:
I, [2013-09-04T17:05:36.992951 #3549] INFO -- : Writing /WORKINGDIR/minimal/public/assets/application-723d1be6cc741a3aabb1cec24276d681.js
I, [2013-09-04T17:05:37.052303 #3549] INFO -- : Writing /WORKINGDIR/minimal/public/assets/application-f1a14051f17824976271b9c0460232f0.css
Pero si inicio el servidor en modo producción, con
RAILS_ENV=production rails s
Las URL generadas en el HTML no apuntan a los archivos precompilados:
<link data-turbolinks-track="true" href="/stylesheets/application.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/javascripts/application.js"></script>
Yo esperaría, más bien:
<link data-turbolinks-track="true" href="assets/application-f1a14051f17824976271b9c0460232f0.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-723d1be6cc741a3aabb1cec24276d681.js"></script>
El valor por defectoconfig/environments/production.rb
Los ajustes dicen usar digests:
config.assets.digest = true
¿Pero parece ser ignorado selectivamente?
¿Me estoy perdiendo de algo?
ACTUALIZAR:
Acabo de probar esto en Rails 4.2.3 y esto parece estar solucionado, sin embargo, necesitamos entregar algunas variables de entorno más en elrails s
comando para iniciar en modo de producción:
SECRET_KEY_BASE=$(rake secret) RAILS_SERVE_STATIC_FILES=true RAILS_ENV=production rails s