概要
タイトルの通りです
使い方がよくわからなかったのですが判明したので紹介します
環境
- macOS 10.13.2
- Ruby 2.4.1p111
- Sinatra 2.0.0
trim_mode を使った場合
- vim views/hoge.erb
<a>
<%- ['a','b','c'].each do |i| -%>
<hoge><%= i %></hoge>
<%- end -%>
</a>
- vim app.rb
require 'sinatra'
get '/' do
erb :hoge, :trim => '-'
end
結果は以下のようになります
<a>
<hoge>a</hoge>
<hoge>b</hoge>
<hoge>c</hoge>
</a>
ちゃんと 1 行ずつ改行されて表示されています
行末を -%>
にすることで改行が無視されます
先頭を <%-
にすることでインデントがなくなります
trim_mode を使わない場合
- vim views/fuga.erb
<a>
<% ['a','b','c'].each do |i| %>
<hoge><%= i %></hoge>
<% end %>
</a>
- vim app.rb
require 'sinatra'
get '/' do
erb :hoge
end
こんな感じで改行が trim されずに表示されてしまいます
<a>
<hoge>a</hoge>
<hoge>b</hoge>
<hoge>c</hoge>
</a>
trim を使うタイミング erb 内でスペースやインデントを使用する場合かなと思います
erb で表示する内容がすべて先頭から始まる内容であればわざわざ改行する必要はありません
0 件のコメント:
コメントを投稿