Тег 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 у меня работает.

Другие вопросы по тегам