2010-04-28 18 views
9

Rails 3.0.0.beta3 ve Haml 3.0.0.rc.2 kullanıyorum ve Haml için yapılandırma satırlarını nereye yerleştirmem gerektiğini (veya yeni sürümde ne olduklarını bulamıyorum) madde). Rails 2.3.5 ve Haml 2'yi kullanarak, environment.rb içindeRaylar 3 ve Haml 3'ü kullanma, Haml'ı nasıl yapılandırabilirim?

'u kullanırdım. Veya, Sinatra'da, ana dosyamda

. Ancak Rails 3'te her şey değişti ve bu yapılandırma satırını nereye koyduğum önemli değil, tanımlanmamış bir yöntem veya tanımlanmamış bir nesne hatası alıyorum.

cevap

8

Rails 3'ün tembel yükleme felsefesine uygun olarak, Haml sadece konfigürasyon dosyası ayrıştırıldığında gerçekleşmemiş olan bir ActionView::Base yüklendiğinde kendisini başlatır. Haml yüklendikten sonra kodu çalıştırmak için, bir ActiveSupport#on_load satırında çalıştırmanız gerekir. Örneğin:

ActiveSupport.on_load(:action_vew) do 
    Haml::Template.options[:format] = :html5 
end 

Tam Haml sisteminde önce yapılandırma erişilebilir hale yollarını düşünüyorum, ya daha önce Haml::Template.options tanımlayan veya özel config.haml karma ekleyerek yüklenmiş.

#{Rails.root}/config/initializers/haml.rb 

haml seçeneği ile:

Haml::Template.options[:attr_wrapper] = '"' 
17

dosyası oluşturun? Sadece üretimde "çirkin" olmak istiyorsam?
+1

Bu Rails 3 bunu yapmanın en iyi yolu nedir başına çevre ayarları hakkında ... kesinlikle bir –

+0

+1, çok iyi bir yanıt seçmediniz çünkü en iyisi bu. –