<%%>で印刷する方が便利な場合があります。 Railsでそれを行う方法は?
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-concat
あなたが探しているものでなければなりません。
例えば。 concat
を使用した次のステートメント:
<% concat "Output" %>
と同等です:
<%= "Output" %>
ERBの場合:<%%>は、解釈するRubyコードがここにあることを意味します。<%=%>は、出力Rubyコード、つまり結果を表示/印刷します。
したがって、標準のERBファイルで出力する場合は、extra =記号を使用する必要があるようです。
それ以外の場合は、構文が少なくて済むERBの代替案を検討できます。おそらく、HAMLのようなものを試してみてください。 http://haml-lang.com/tutorial.html
Example:
# ERB
<strong><%= item.title %></strong>
# HAML
%strong= item.title
それはもっと便利ですか?
erb は、インラインRuby式を評価する2つの方法があります。式を評価する<%
と、評価して出力する<%=
があります。バインディングコンテキスト内に印刷するグローバルオブジェクトはありません。
Omarが述べたように、ActionViewの一部であるconcatメソッドがあります。これはあなたが望むことをします。
スクリプト言語のエスケープとは異なり、erbのデフォルトの出力はありません。 erbは単なる関数であり、テンプレートとバインディングを指定すると変数が返されるため、テキストと関数の値を再帰的に返します。
ビューで許可されるロジックの量については熱い議論がありますが、できるだけ少なくは、ほとんどの人が目指していることです。ビューにテキストよりも多くのコードを配置する場合は、コードのリファクタリングを検討することをお勧めします。