问题
I have been going through a crash course of Ruby and Ruby on Rails and i can't figure this out: In embedded ruby html files, there are several tags. <% %> for execution <%= %> for output, but what function do these tags serve: <%= -%>, what's with the "-" sign at the end ?
Thanks.
回答1:
This link contains a good overview of erb markup.
From the site:
RECOGNIZED TAGS
ERB recognizes certain tags in the provided template and converts
them based on the rules below:<% Ruby code -- inline with output %> <%= Ruby expression -- replace with result %> <%# comment -- ignored -- useful in testing %> % a line of Ruby code -- treated as <% line %> (optional -- see ERB.new) %% replaced with % if first thing on a line and % processing is used <%% or %%> -- replace with <% or %> respectively
All other text is passed through ERB filtering unchanged.
回答2:
In ruby document there is not the details about this usage <%-
or -%>
. But it works well by this:
erbA = ERB.new(erbA_str, 1, '-', "@output_buffer")
Notice the 3rd parameter '-'
!
It removes the pre or post blanks when using <%-
and -%>
accordingly.
来源:https://stackoverflow.com/questions/9208728/embedded-ruby-erb-tags