HAML: eliminar espacios en blanco después de “link_to”

El siguiente código deja un espacio en blanco en HTML:

= link_to "Login", "#" 

Normalmente, HAML permite eliminarlo poniendo “>” al final de la línea, por ejemplo:

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

Sin embargo, eso parece ser imposible, cuando se inserta el código Rails.

¿Cómo puedo solucionar esto?

¿Qué tal esto?

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

Añade un espacio adicional alrededor del enlace, pero son bastante inofensivos.

Me parece que Haml puede tener un pequeño problema con algunos de estos casos de esquina 🙁

La solución con span no es ideal, ya que agrega una etiqueta html innecesaria que requerirá procesamiento. Si desea evitar el , debe usar HAML’s success:

 = succeed "," do = link_to "Login", "#" 

lo que resultará en el siguiente HTML que se representa:

 Login, 

más bien que

 Login , 

Tenga en cuenta que si desea lograr el siguiente resultado:

 Login,Profile 

es decir, sin espacios en blanco entre la coma y dos enlaces, debe hacer lo siguiente:

 = succeed link_to "Profile", '#' do = succeed "," do = link_to "Login", '#' 

que se pone bastante tedioso

Podría, pero > en la siguiente línea.

 = link_to "Login", "#" #something_else> 

Para cualquier persona que llegue a este hilo, creo que lo que más necesito es eliminar los espacios en blanco más cuando un enlace está al final de una oración.

Usualmente voy a usar:

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

lo que resulta en:

Login.

Aquí hay otra solución alternativa pobre para eliminar espacios entre varias líneas de Rails usando el: filtro 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')