Это огромная и давняя проблема в HAML.Я решил это лично двумя разными способами.
1) Я помещаю нужный текст в элементы массива и использую
join(', ')
Но этодовольно деликатный способ делать вещи.
2) Единственное «решение» HAML заключается в специальном> символе.Символ> удаляет пробелы в выходном html, чтобы не было пробелов ДО или ПОСЛЕ того, как выводится этот тег.
Это лучшее, что я смог придумать, и я теряю сонночью это страшное безобразие.
%a{:href => 'here'} Github
%span> ,
%a{:href => 'there'} Twitter
Заметки об этой последней технике.
а.Если вы не используете;вы не получите пробел, даже если он включен в исходном коде.Использование кавычек (% span> # {","}) и пробел не работают, так как очевидно, что HAML обрезает вывод.
б.Вы должны использовать тег, потому что использование> работает только после тега, насколько я могу судить.Использование =>, к сожалению, не будет работать.Это был бы мой рекомендуемый способ сделать это, но это не решило бы последнюю потерянную область в любом случае.
3) В моих проектах rails я использую следующую комбинацию партиалов и помощников:
partical: _haml_comma.html.haml
%span> ,
helper.rb
def comma
render :partial => "shared/haml_comma"
end
.haml file:
%a{:href => 'here'} Github
= comma
%a{:href => 'there'} Twitter