ERB 模板中的缩进
Indentation in ERB templates
我在 erb
模板中有以下条目:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
解析为:
# Lorem Ipsum...
zaz.property value
如何删除前导空格,使行在已解析的模板中不缩进?
我想避免使用类似的东西:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
您可以缩进代码而不是 ERB 标签:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
我能提供的唯一解决方案是在 <%= %>
条目之前添加 <%- 'whatever here' %>
:
<% [1,2,3].each do |f| %>
<%- 1 %><%= f %>
<% end %>
它在 irb 中输出
irb(main):018:0> ERB.new(File.read('f.txt'), nil, '-').result
=> "\n1\n\n2\n\n3\n\n"
Rails 文档声称,ERB trim_mode 的默认值是 -
http://edgeguides.rubyonrails.org/configuring.html#configuring-action-view
并且根据 https://www.systutorials.com/docs/linux/man/1-erb/ 当启用 -
模式时,ERB 应该删除 <%-
之前的空格。
我在 erb
模板中有以下条目:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
解析为:
# Lorem Ipsum...
zaz.property value
如何删除前导空格,使行在已解析的模板中不缩进?
我想避免使用类似的东西:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
您可以缩进代码而不是 ERB 标签:
# Lorem Ipsum...
<% unless @foo['bar'] == nil %>
<% @foo['bar'].each do |property, value| %>
<%= "zaz.#{property} #{value}" %>
<% end %>
<% end %>
我能提供的唯一解决方案是在 <%= %>
条目之前添加 <%- 'whatever here' %>
:
<% [1,2,3].each do |f| %>
<%- 1 %><%= f %>
<% end %>
它在 irb 中输出
irb(main):018:0> ERB.new(File.read('f.txt'), nil, '-').result
=> "\n1\n\n2\n\n3\n\n"
Rails 文档声称,ERB trim_mode 的默认值是 -
http://edgeguides.rubyonrails.org/configuring.html#configuring-action-view
并且根据 https://www.systutorials.com/docs/linux/man/1-erb/ 当启用 -
模式时,ERB 应该删除 <%-
之前的空格。