Embedded ruby “erb” tags [duplicate]

2019-06-21 08:18发布

This question already has an answer here:

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.

标签: ruby tags erb
2条回答
再贱就再见
2楼-- · 2019-06-21 08:37

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.

查看更多
We Are One
3楼-- · 2019-06-21 08:41

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.

查看更多
登录 后发表回答