2012-10-23 22 views
7

Bazı yardımcı yöntemler uygularken bazen hesaplanan bir sonucu, yardımcı yöntemden önbellek olarak erişilebilir bir yerde saklamak istiyorum.Köprüleme değerlendirmesinde sonuç raylarda yardımcı yöntemler

Örnek değişkeninde saklarsam, örnekleri kirletir, dolayısıyla bunu yapmak akıllıca görünmez.

Bu değeri depolamak için iyi bir yer var mı? Veya bir yardımcı bilgisayarda böyle bir ağır bilgisayar kullanımı kötü bir fikir midir?

cevap

12

Bazen bu tür değerleri depolamak için Rails önbelleğini kullanırım. Kod,

def helper_method 
    Rails.cache.fetch('helper_value') do 
    # calculate the value if it does not exist 
    ... 
    end 
end 
+1

Teşekkür ederiz. Önbellek kullanımının beklediğim şey olmadığını düşünmüştüm ama yardımcının bakış açısından bu sorunu çözmenin doğal yolu budur. Teşekkürler. – shigeya

+0

Sadece bir ipucu: 'config.action_controller.perform_caching = false' Rails.cache.fetch'i, sadece düzenli ActionView 'cache' yardımcılarını devre dışı bırakmaz. Şuna bakın: http://stackoverflow.com/a/43991463/1290457 – sandre89

İlgili konular