Rails 3.2.13 ve Rails Asset Pipeline kullanıyorum. Varlık Boru Hattı'nı kullanmak istiyorum, böylece varlıklarım için SASS ve CoffeeScript ve ERB'yi kullanabilirim ve Boru Hattı bunları otomatik olarak derlemeli, böylece boru hattını geliştirme aşamasında kapatamıyorum. Gelişimdeki varlıkları hiç hazırlamıyorum ve public/assets/
dizini bile yok. I kendisi de dahil olmak üzere (bu örnekte layout.html.erb
olarak), dişlisi gelmez yaparak dosya değiştirmeden, bir layout.html.erb
dosyasında (işlenmiş) dahil böyle bir _partial.html.erb
dosyasına olarak dahil edilen dosyada değişiklik yapmak AncakGeliştirme için Sprockets öğe önbelleğini devre dışı bırakma
' Değişikliği algılayıp önbelleği geçersiz kılar, bu yüzden aynı eski dosyayı almaya devam ediyorum. Bunu aktif geliştirmede yaptığımda, her istekte değişiklik yapabilmem için varlıkları önbelleğe almayı devre dışı bırakmak istiyorum, ancak bunu nasıl yapacağımı anlayamıyorum. Ben benim development.rb
içinde aşağıdakilerden tüm belirledik:
config.action_controller.perform_caching = false
config.action_dispatch.rack_cache = nil
config.middleware.delete Rack::Cache
config.assets.debug = true
config.assets.compress = false
config.cache_classes = false
Yine bu bile, dosyalar tmp/cache/assets/
ve tmp/cache/sass/
altında görünür ve değişikliklerin gelecek istekler üzerinde kullanılamaz. Şu anda, bir değişikliği görmek istediğimde bu dizinleri manuel olarak silmem gerekiyor.
Maalesef Varlık Boru Hattı RoR Kılavuz How Caching Works bölümünün tüm içeriği ise:
Sprocketler geliştirme ve üretimde önbellek varlıklara varsayılan Raylar önbellek deposu kullanır.
TODO: Varsayılan mağazayı değiştirme hakkında daha fazla bilgi edinin.
Peki, Sprockets'ları varlıkları isteğe göre değil, sonuçları önbelleğe almak için nasıl derlerim?
:
çözüm sadece dişliler önbelleği geçersiz gerektiğini bilir, öyle ki bu tür bağımlılık ilan gereğidir. :-) Çalıştığınıza sevindim… –
Bu, eylem önbellekleme mantığını test etmeye çalışırken dosya deposu önbelleğini açıp kapatmamı kesinlikle öldürüyordu. (gerçek önbelleğe alma parçası olmadan). Teşekkür ederim. – CrazyVipa
Çalışmıyor – Benj