Qualcuno sa come faccio in Rails 4 a far si che durante la
precompilazione
di degli asset ad un determinato file venga conservato il suo nome senza
fingerprint?
esempio ho un file in app/assets/javascripts/application.js, voglio che
dopo assets:precompile questo venga salvato
public/assets/javascripts/application.js
Potrei fare un symlink ad ogni deploy, o fare un enhancement al rake
task
‘assets:precompile’ per farlo in automatico, ma forse c’ modo di
ottenere
lo stesso tramite una configurazione di Rails?
Mmh, suppongo che abbia bisogno della disabilitazione solo per qualche
file
e non per tutti.
La vedo dura senza ridefinire la parte di sprockets che si preoccupa di
gestire il digest.
Grazie. La conversazione che hai linkato molto interessante.
In Rails 4 se uso digest = false, il risultato che gli helper non usano
pi la fingerprint, che non proprio quello che voglio.
Sto pensando di generare dei symlink dopo assets:precompile come
suggerito
da Jeremy K. ma non ho chiaro come heroku tratti questi file
generati
“al volo”.
Qualcuno ha esperienze simili con Heroku?
Si infatti stavo guardando dentro Sprockets. Sinceramente non capisco
perchè abbiano tolto la variante non fingerprintata, sarebbe estramente
utile se Rails avesse un Array per definire gli asset che non vuoi
fingerprintare.
Rocco, si infatti alla fine prover con quel rake come enhancement di
asset:precompile.
Penso che far un link per invece che la copia del file, mi pare pi
approrpiato
Devo solo fare qualche ricerca per capire se l’ephemeral filesystem di
heroku tollera una soluzione del genere oppure rischio di trovarmi in
qualche situazione in cui quei link non sono spariti.
/tmp/build_0ec0019d-2d5e-418e-a843-65d5912bec36/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:59:in
`block (2 levels) in define’
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
/tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:9:in
`block (2 levels) in <top (required)>’
/tmp/build_84a9e3ee-4466-46e7-a020-5ac0df92a5c5/lib/tasks/production.rake:43:in
`block in <top (required)>’
Tasks: TOP => app:nonfingerprint_assets
(See full trace by running task with --trace)