HAML:删除“link_to”后的空格

以下代码在HTML中留下空格:

= link_to "Login", "#" 

通常,HAML允许通过在行尾添加“>”来删除它,例如:

 %input#query{:type => "text", :value => "Search"}> 

但是,当插入Rails代码时,这似乎是不可能的。

我该如何解决?

这个怎么样?

 %span>= link_to "Login", "#" 

它增加了链接的额外范围,但这些都是无害的。

我发现haml可能会遇到一些问题,其中一些角落情况:(

带有span的解决方案并不理想,因为它添加了一个需要处理的不必要的html标记,如果你想避免你应该使用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> 

对于任何来到这个post的人,我发现当链接在句子末尾时,我最需要删除空格。

我通常会用:

= link_to("Login", '#) + '. '

这导致:

Login.

这是使用:rubyfilter删除多个导轨线之间空间的另一个糟糕的替代解决方案:

 :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')