Denetleyiciye özel JavaScript mantığını standart application.js
'den uzak tutmak ve yalnızca ilgili denetleyici tarafından dahil edilmesini sağlamak için, bunu kendi .js dosyasına koyarım ve denetleyici adına göre aşağıdaki gibi bir düzen ekleyerek dahil ederim:Rails 3.1, kontrolöre özgü JS varlıklarını önceden derlemek için strateji
<%= javascript_include_tag "application", params[:controller] %>
Çok iyi çalışıyor, ancak uygulamayı prodüksiyona dağıttığımda (Capistrano kullanıyorum ve bir ön derleme görevi kurdum), varlık boru hattı denetleyiciye özgü JS dosyalarından herhangi birini önceden oluşturmuyor . Bunun nedeni, benim gerçek JavaScript dosyamın application.js dosyasındaki yönergeler gerektirmediğinden kaynaklanmış olduğunu varsayıyorum.
Denetleyiciye özgü JS'yi uygulama.js'ye geri döndürmeden veya açıkça application.js'den başvurmaksızın bununla nasıl baş edebilirim?
Ek liste dosyalarını önceden derlemek için varlık boru hattını anlamanın bir yolu var mı? Üretimde belirli bir dosyayı manuel olarak nasıl önceden derleyebilirim?
turns out olarak, config/environments/production.rb
config.assets.precompile += %w(achievements.js)
config.assets.precompile += %w(*.js)
bu gerçekten otomatik olmalı! –
Burada önkoşul listesine scss/kahve dosyalarını ekleyerek işe yaramayacaktır. (Ve hata da atmayın!). Sadece .js/css uzantısıyla adlandırmanız gerekir. –