1

誰かがerbのタグ<%= %>とタグの違いを教えてもらえますか? <% %>どのような場合に、どちらを使用すればよいですか? 他に使用できるタグとその意味は?

4

3 に答える 3

6

言われるように

<% %>

内部の ruby​​ コードを取得して評価します

<%= %>

内部の ruby​​ コードを取得して評価し、結果を画面に出力します。これは通常、html で通常のテキストとして使用できる出力可能な結果を​​返すことを意味します。

そうやって

<div class="<% 'myclass' %>">

結果として

<div class="">

そして<div class="<%= 'myclass' %>"> 結果として

<div class="myclass">

あなたはそれをさらに説明するこのrailscastを見ることができます http://railscasts.com/episodes/100-5-view-tips

また、おそらく将来これに遭遇し、私がこれを書いたことを忘れることさえあるでしょうが、とにかく役に立つかもしれません

場合によっては、Ruby コードのすべての行が <% %> の行である必要はありません。例 - ケーススイッチの使用

これは機能しません:

<% case my_var %>
<% when 10 %>
<% some ruby code %>
<% end %>

しかし、これは

<% case my_var 
  when 10 %>
<% some ruby code %>
<% end %>

だから気をつけて

于 2013-10-26T10:25:04.520 に答える
1

<%= %>実行したルビを画面に出力したい場合に使用します。つまり、このブロック内に書かれたものはすべて出力画面に出力されます。

asブロックは、条件、ステートメントなど<% %>の Ruby ロジック部分を実行するために使用されます。ifloop

于 2013-10-26T10:04:12.713 に答える
1
<% %>

括弧内の ruby​​ コードを実行します。

<%= %>

何かをerbファイルに出力します。

于 2013-10-26T10:04:20.440 に答える