fl00r
fl00r

Reputation: 83680

Mixing Ruby code and literal markup with Haml

How to write this ERB in HAML

<%= some_ruby_code %>:
# OR
<%= some_ruby_code %><br />

I can:

=some_ruby_code + ":"
# and
=some_ruby_code
%br

but I don't want concatenating here and I want to write it inline:

(=some_ruby_code):
# and
(=some_ruby_code)%br

Upvotes: 7

Views: 10277

Answers (2)

BaronVonBraun
BaronVonBraun

Reputation: 4293

Try something like

= some_ruby_code
:

= some_ruby_code
%br

Note that even though the colon is on a newline, it isn't put into a newline in the HTML.

Or,

#{some_ruby_code}:
#{some_ruby_code}
%br

HAML can do inline Ruby interpolation with #{}.

Upvotes: 9

David Grayson
David Grayson

Reputation: 87531

=some_ruby_code + ":"
-# and
=some_ruby_code + "<br/>"

EDIT 1:

I'm not sure exactly what you are looking for. Would you like one of these?

==#{some_ruby_code}:
-# and
==#{some_ruby_code}<br/>

or

==#{some_ruby_code}:
-# and
=some_ruby_code
%br

There is no way to use %br in HAML unless it is the first non-whitespace thing on the line, as far as I know.

Upvotes: 11

Related Questions