ERB模板中的缩进

Nav*_*rro 11 ruby ruby-on-rails erb

我在erb模板中有以下条目:

# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
    <% @foo['bar'].each do |property, value| %>
        <%= "zaz.#{property} #{value}" %>
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这被解析为:

# Lorem Ipsum...
       zaz.property value
Run Code Online (Sandbox Code Playgroud)

如何删除前导空格,以便在已解析的模板中不会缩进行?

我想避免使用类似的东西:

# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
    <% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

Sta*_*hin 2

我可以提供的唯一解决方案是在条目<%- 'whatever here' %>之前添加<%= %>

<% [1,2,3].each do |f| %>
    <%- 1 %><%= f %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

它以 IRB 输出

irb(main):018:0> ERB.new(File.read('f.txt'), nil, '-').result
=> "\n1\n\n2\n\n3\n\n"
Run Code Online (Sandbox Code Playgroud)

Rails 文档声称,ERB trim_mode 的默认值是- http://edgeguides.rubyonrails.org/configuring.html#configuring-action-view

根据https://www.systutorials.com/docs/linux/man/1-erb/ ERB 应在启用模式<%-之前删除空格。-