<% %>と<%= %>を間違えると、不必要な情報を表示してしまう【Day 13/30 2nd】

こんにちは、たわらです。

本記事は<% %>と<%= %>を復習する記事です。

不必要な情報が表示されてしまう

画像1

上記のように、黒ポチの下に不必要な情報が出てしまっています。

   <%= object.errors.full_messages.each do |msg| %>
       <li><%= msg %></li>
   <% end %>

1行目に <%= %> となっており、= が入っていますね。これが原因でした。

<%= %>

このように記述すると、間に記述されたRubyコードが実行され、その結果を評価して、文字列を出力します。

なので、上のコードでは object.errors.full_messagesの配列をそのままビューに表示してしまっていたのです。

表示したいローカル変数のmsgはきちんと<%= %>で挟まれています。

<% %>

出力しない計算や繰り返し処理などの制御構文といった、評価はするけれど、結果を出力しないRubyコードは、こっちで囲うわけですね。

最後に

初歩の初歩の知識ですが、エラーからすぐに原因に到達できませんでした。恥ずかしい。精進します。

読んでくださったくださった、ありがとうございます。

参考文献



この記事が気に入ったらサポートをしてみませんか?