次のコードがあります。
<tbody>
<%= Item.each do |item|=%>
<tr>
<th><%= item.rev =%></th> <=========
<th><%= item.name =%></th>
</tr>
<%= end =%>
</tbody>
ただし、指定された行で構文エラーが発生します。データベースにデータがあります (テスト ケース)。私が間違っていることはわかりません。
次のコードがあります。
<tbody>
<%= Item.each do |item|=%>
<tr>
<th><%= item.rev =%></th> <=========
<th><%= item.name =%></th>
</tr>
<%= end =%>
</tbody>
ただし、指定された行で構文エラーが発生します。データベースにデータがあります (テスト ケース)。私が間違っていることはわかりません。
あなたが持っている記号に等しいは間違っています。以下のようにしてみてください:
<tbody>
<% Item.each do |item|%>
<tr>
<th><%= item.rev %></th>
<th><%= item.name %></th>
</tr>
<% end %>
</tbody>
<%= は、評価が必要な式にのみ使用してください。
埋め込まれたルビーを理解するには、このリンクを参照して ください http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html
erbタグの式は<%#code%>
です。そのタグも印刷する場合は、<%= #code%>を適用します。
つまり、「=」記号を1つだけ使用し、それも左側に使用します。
また、各イテレータの行には何も出力できないため、その行に「=」記号はありません。これは、「end」を含むタグの場合と同様です。
したがって、コードは次のようになります。
<tbody>
<%Item.each do | item | %>
<tr>
<th>
<%= item.rev%></th>
<th>
<%= item.name%></th>
</tr>
<%end%>
</tbody>