2010-11-02 14 views
9

Haml'in br etiketlerini kapatmasıyla ilgili bir sorun yaşıyorum. br etiketi Haml'de Raylarda kapanmıyor 3

%br 
%br/ 

Bu <br /> neden bekliyoruz, ama her zaman bile ucundaki çizgi karakteriyle, <br> olarak verir: Hiçbir şans ile aşağıdaki çalıştılar. Ayrıca aşağıdaki seçenekleri application.rb ekleyerek denedim (ve environment.rb çalıştı)

Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base'] 

Ben bir şey eksik? Haml'ın bu etiketleri varsayılan olarak otomatik olarak kapatması gerekiyordu.

cevap

10

Tamam, ben sorunu buldum. Haml, Rails 3'ü kullanırken varsayılan olarak HTML5'i çıkarır. <br>'un HTML5'te geçerli bir sözdizimi olduğunu fark etmemiştim. Bunun yerine W3C semantik çıkarıcıyı geçmeye çalışıyordum, bu yüzden bunun yerine <br />'a ihtiyacım var. Bunu işe almak için, Autoclose için Haml seçeneklerini güncellemeniz ve xhtml'ye ayarlamanız gerekecektir. Bu kodu, sınıfın içindeki application.rb dosyanıza bırakın. Burada

Haml::Template.options[:format] = :xhtml 

diğer bilgiler:

http://github.com/nex3/haml/issuesearch?state=closed&q=close#issue/155

+2

Aslında:: autoclose' listesini ayarlamanız gerekmez. Haml, '
''ün varsayılan olarak otomatik kapaması gerektiğini bilir. –

+0

@ nex3 - bunu yansıtacak şekilde güncellendi. bahşiş için teşekkürler ve haml ve sass üzerinde yaptığınız çalışma için teşekkürler. Harika ürünler! – johnmcaliley

2

Ama (AutoClose ile yani html5) xhtml5 istiyorsanız, bunu yapmak için hiçbir yolu yoktur! Ben diğer birçok kullanıcı gibi, ben: autoclose listesini geçersiz kılmayı denedim ve sadece işe yaramıyor. haml Docs göre

+0

Kullanıyorum '% br  ' - Çirkin, tekrarlayan, ancak işi yapar. –

1

:

Haml::Template.options[:format] = :xhtml 

config/environment.rb yerleştirilmelidir.

Çevreye yerleştirme.rb benim için çalışır.

İlgili konular