Ответ 1
Как насчет этого?
%span>= link_to "Login", "#"
Он добавляет дополнительный промежуток по ссылке, но они довольно безвредны.
Я считаю, что haml может иметь немного проблемы с некоторыми из этих угловых случаев: (
Следующий код оставляет пробел в HTML:
= link_to "Login", "#"
Обычно HAML позволяет удалить его, поместив " > " в конец строки, например:
%input#query{:type => "text", :value => "Search"}>
Однако это кажется невозможным, когда вставлен код Rails.
Как это исправить?
Как насчет этого?
%span>= link_to "Login", "#"
Он добавляет дополнительный промежуток по ссылке, но они довольно безвредны.
Я считаю, что haml может иметь немного проблемы с некоторыми из этих угловых случаев: (
Решение с диапазоном не является идеальным, так как добавляет ненужный тег html, который потребует обработки, если вы хотите избежать <span>
, вы должны использовать HAML succeed
:
= succeed "," do
= link_to "Login", "#"
что приведет к отображению следующего HTML:
Login,
а не
Login ,
Обратите внимание, что если вы хотите добиться следующего результата:
Login,Profile
то есть. нет пробелов между запятой и двумя ссылками, вы должны сделать следующее:
= succeed link_to "Profile", '#' do
= succeed "," do
= link_to "Login", '#'
который становится довольно утомительным
Вы можете, но >
в следующей строке.
= link_to "Login", "#"
#something_else>
Для тех, кто подходит к этой теме, мне больше всего нужно удалять пробелы, когда ссылка находится в конце предложения.
Я обычно использую:
= link_to("Login", '#) + '. '
что приводит к:
<a href="#">Login</a>.
Здесь другое плохое альтернативное решение для удаления пробелов между несколькими линиями рельсов с использованием фильтра ruby:
:ruby
haml_io.write f.hidden_field('params_ar[][units]', value: 'time')
haml_io.write f.text_field("params_ar[][minutes]", value:pars[param_num][:minutes],class:'time-input minutes', placeholder:'mm')
haml_io.write ':'
haml_io.write f.text_field("params_ar[][seconds]", value:pars[param_num][:seconds],class:'time-input seconds' ,placeholder:'ss')