Тег br не закрывается в Haml on Rails 3
У меня проблема с тем, чтобы заставить Haml закрыть теги br. Я попробовал следующее без удачи:
%br
%br/
Я ожидаю, что это приведет к <br />
, но всегда выводит как <br>
даже с косой чертой в конце. Я также попытался добавить следующие параметры в application.rb (и я попробовал environment.rb)
Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base']
Я что-то пропустил? Я думал, что Haml должен был автоматически закрыть эти теги по умолчанию??
3 ответа
Хорошо, я обнаружил проблему. Haml выводит HTML5 по умолчанию при использовании Rails 3. Я не осознавал, что <br>
был допустимый синтаксис в HTML5. Я пытался заставить это пройти семантический экстрактор W3C, поэтому мне нужно <br />
вместо. Чтобы заставить это работать, вам нужно будет обновить параметры Haml для автозаполнения и установить его в xhtml. Перетащите этот код в ваш application.rb внутри класса.
Haml::Template.options[:format] = :xhtml
Больше информации здесь:
http://github.com/nex3/haml/issuesearch?state=closed&q=close
Но, если я хочу xhtml5 (то есть html5 с автозакрытием), нет никакого способа сделать это! Я, как и многие другие пользователи, попытался переопределить список:autoclose, и он просто не работает.
Согласно документам хамла:
Haml::Template.options[:format] = :xhtml
должен быть помещен в config/environment.rb.
Размещение его в environment.rb у меня работает.