以下代码在HTML中留下空格:
= link_to "Login", "#"
通常情况下,HAML允许通过添加“>”来删除它在该行的末尾,例如:
%input#query{:type => "text", :value => "Search"}>
然而,当插入Rails代码时,这似乎是不可能的。
我该如何解决这个问题?
答案 0 :(得分:22)
带有span的解决方案并不理想,因为它会添加一个需要处理的不必要的html标记,如果你想避免<span>
你应该使用HAML的succeed
:
= succeed "," do
= link_to "Login", "#"
将导致呈现以下HTML:
Login,
而不是
Login ,
请注意,如果您想获得以下结果:
Login,Profile
即。逗号和两个链接之间没有任何空格,您应该执行以下操作:
= succeed link_to "Profile", '#' do
= succeed "," do
= link_to "Login", '#'
这非常繁琐
答案 1 :(得分:19)
这个怎么样?
%span>= link_to "Login", "#"
它在链接周围增加了额外的跨度,但这些非常无害。
我发现haml可能会遇到一些问题:(
答案 2 :(得分:8)
你可以在下一行>
。
= link_to "Login", "#"
#something_else>
答案 3 :(得分:0)
对于访问此主题的任何人,我发现当链接位于句子末尾时,我最需要删除空格。
我通常会使用:
= link_to("Login", '#) + '. '
导致:
<a href="#">Login</a>.
答案 4 :(得分:0)
这是使用: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')