TL;DR
%p
#{link_to "label", "url"}!
Haml is a great engine for writing shorter, readable HTML. However, there is one thing that troubles me regularly. Consider this Haml code:
%p
Visit our homepage at
= link_to "www.makandra.com", "http://www.makandra.com"
!
Haml will insert a space around the generated link, the result is this (see the space before the exclamation mark!):
<p>
Visit our website at <a href="http://www.makandra.com">www.makandra.com</a> !
</p>
They suggest to use a Haml helper, but to me this solution is ugly and too much overhead.
%p
Visit our homepage at
- succeed('!') do
= link_to "www.makandra.com", "http://www.makandra.com"
I prefer a workaround I found on stackoverflow Show archive.org snapshot :
%p
Visit our homepage at
#{link_to "www.makandra.com", "http://www.makandra.com"}!
If you like, for some use cases this may be helpful, too:
%p
Visit our homepage at
= link_to("www.makandra.com", "http://www.makandra.com") + "!"
To remove whitespaces around an element created with HAML syntax, use >
:
%p
Visit our homepage at
%a{:href => "http://www.makandra.com"} www.makandra.com
%span> !
Posted by Dominik Schöler to makandra dev (2012-05-24 09:02)