Представление ERB, встроенное в макет Haml: что теперь делать с пробелами? - PullRequest
1 голос
/ 13 апреля 2011

У меня есть приложение Rails 3, где все представления сделаны в Haml. Тем не менее, есть некоторые представления, поступающие из обязательных гемов, которые есть в ERB, и Haml добавляет пробелы, и он портит текстовые области и тому подобное. (Если вы не знакомы с этим аспектом хамла, посмотрите здесь .)

Я бы предпочел не преобразовывать мой макет в ERB, и поскольку гем находится в ERB, все традиционные решения пробелов Haml не помогают.

Так как мне заставить мои текстовые области (и

s и т. Д.) Не оборачивать? Все, что я могу сделать в своем приложении, хорошо, иначе я бы с радостью применил патч к оригинальному камню. 



 Редактировать  Думаю, я мог бы найти несколько приличных ответов. 

 Одна вещь, которая работает на конце хамла, это Haml::Template.options[:ugly] = true, которая устраняет все пробелы. Мех, это может быть лучшим решением, но где мой пробел :( Мне понравилось, когда это не испортило мое приложение. 

 Другая идея заключалась в том, чтобы залатать самоцвет для автоматического преобразования \ n символов в & # x000A; в before_save, который имитирует то, что делает Хамл в ссылке, на которую я ссылался в моем первоначальном вопросе ... но это может быть немного болезненно. 

 Последнее решение, которое я нашел, которое, похоже, тоже работает, заключается в создании документа _form.html.haml, который расположен рядом с документом _form.html.erb в плагине и идентичен. Очевидно, что плагин не должен зависеть от Haml, но если родительское приложение отображает Haml, оно будет искать представление haml, прежде чем оно будет искать представление ERB. Однако есть одна оговорка, и это то, что Haml действительно должен быть загружен в начале приложения. Итак, у меня есть строка внизу application.rb, которая просто говорит «Haml» сама по себе. 

 Так что для всех, у кого есть эта проблема, теперь у вас есть 3 варианта на выбор, и если у вас есть лучшее, пожалуйста, опубликуйте его! 

1 Ответ

0 голосов
/ 24 мая 2011

Вы смотрели на: фильтр сохранения?

См. http://haml -lang.com / docs / yardoc / file.HAML_REFERENCE.html # preserve-filter

...