тег br не закрывается в Haml on Rails 3 - PullRequest
9 голосов
/ 02 ноября 2010

У меня проблема с тем, чтобы Хамл закрыл теги 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 ]

10 голосов
/ 02 ноября 2010

Хорошо, я обнаружил проблему.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#issue/155

2 голосов
/ 22 ноября 2010

Но, если я хочу xhtml5 (то есть html5 с автозакрытием), нет способа сделать это!Я, как и многие другие пользователи, попытался переопределить список: autoclose, и он просто не работает.

1 голос
/ 30 августа 2011

Согласно документам haml:

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

должен быть помещен в config / environment.rb.

Размещение его в environment.rb работает для меня.

...