<% %>と<%= %>を間違えると、不必要な情報を表示してしまう【Day 13/30 2nd】
こんにちは、たわらです。
本記事は<% %>と<%= %>を復習する記事です。
不必要な情報が表示されてしまう
上記のように、黒ポチの下に不必要な情報が出てしまっています。
<%= object.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
1行目に <%= %> となっており、= が入っていますね。これが原因でした。
<%= %>
このように記述すると、間に記述されたRubyコードが実行され、その結果を評価して、文字列を出力します。
なので、上のコードでは object.errors.full_messagesの配列をそのままビューに表示してしまっていたのです。
表示したいローカル変数のmsgはきちんと<%= %>で挟まれています。
<% %>
出力しない計算や繰り返し処理などの制御構文といった、評価はするけれど、結果を出力しないRubyコードは、こっちで囲うわけですね。
最後に
初歩の初歩の知識ですが、エラーからすぐに原因に到達できませんでした。恥ずかしい。精進します。
読んでくださったくださった、ありがとうございます。
参考文献
この記事が気に入ったらサポートをしてみませんか?