20

<% %>(Rubyコードを評価する)、<% -%>(Rubyコードを評価し、末尾の改行を抑制する)、および<%- -%>(Rubyコードを評価し、末尾の改行と先頭のスペースを抑制する)に関して、RailsでのERbの推奨される使用法は何ですか?<%- -%>出力HTMLが最も見栄えがするよう<% %>に見えますが、ほとんどの場合、私が見ているもののようです。

4

3 に答える 3

10

それは個人的な好みです。ループやブロックを書いているときは、そこに新しい行が必要なので、<%%>を使用します。変数代入のまれなケースで<%-%>を使用します。また、<%--%>を使用することはありません。これは、1つのオプションが多すぎるためです。

于 2010-11-09T00:49:39.673 に答える
7

http://ruby-doc.org/ruby-1.9/classes/ERB.htmlで、ワンライナーに単一のパーセント記号を使用することもできることを読みました(その行に他に何もない場合)

ドキュメントからの例:

<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
  * <%= priority %>
% end

ああ、ほとんどHAMLのようですね。:)

于 2010-12-17T02:18:34.937 に答える
1

末尾のハイフンはもう機能しないと思います-%>。Ruby2.6.6で使用しようとするとエラーが発生しました。ただし、コードの行全体にパーセントを使用するという@onetomの提案は%機能し、何も出力せず、不要な改行を最後に保持しません。

例:


末尾のハイフン

line1
<%- sought = 'pattern' -%>
line3

エラーメッセージ:

file.erb:1: syntax error, unexpected ';' (SyntaxError)
; - sought = 'pattern' -; _erbout.<< "\n".freeze

末尾にハイフンはありません:

line1
<%- sought = 'pattern' %>
line3

出力:

line1

line3

パーセントのみ:

line1
% sought = 'pattern'
line3

出力:

line1
line3
于 2020-08-20T00:12:44.530 に答える