HAML:删除"link_to"后的空格

krn*_*krn 28 haml ruby-on-rails

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

= link_to "Login", "#"
Run Code Online (Sandbox Code Playgroud)

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

%input#query{:type => "text", :value => "Search"}>
Run Code Online (Sandbox Code Playgroud)

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

我该如何解决?

Geo*_*rgi 22

具有span的解决方案并不理想,因为它添加了一个需要处理的不必要的html标记,如果你想避免<span>使用HAML succeed:

= succeed "," do
  = link_to "Login", "#"
Run Code Online (Sandbox Code Playgroud)

这将导致呈现以下HTML:

Login,
Run Code Online (Sandbox Code Playgroud)

而不是

Login ,
Run Code Online (Sandbox Code Playgroud)

请注意,如果要实现以下结果:

Login,Profile
Run Code Online (Sandbox Code Playgroud)

即,逗号和两个链接之间没有任何空格,您应该执行以下操作:

= succeed link_to "Profile", '#' do
  = succeed "," do
    = link_to "Login", '#'
Run Code Online (Sandbox Code Playgroud)

这变得相当乏味


Bla*_*lor 18

这个怎么样?

%span>= link_to "Login", "#"
Run Code Online (Sandbox Code Playgroud)

它在链接周围增加了额外的跨度,但这些非常无害.

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


Bla*_*lor 8

你可以,但>在下面的行.

= link_to "Login", "#"
#something_else>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,%span {:style =>"display:none;"}>似乎工作正常,但多次使用它是一个非常糟糕的解决方案......我希望有更好的方法. (3认同)