我有以下代码:
<tbody>
<%= Item.each do |item|=%>
<tr>
<th><%= item.rev =%></th> <=========
<th><%= item.name =%></th>
</tr>
<%= end =%>
</tbody>
但是我在onidcated行上遇到语法错误。数据库中有数据(测试用例)。不知道我做错了什么。
答案 0 :(得分:14)
等于你所拥有的迹象是错误的。请尝试以下方法:
<tbody>
<% Item.each do |item|%>
<tr>
<th><%= item.rev %></th>
<th><%= item.name %></th>
</tr>
<% end %>
</tbody>
&lt;%=只应用于需要评估的表达式。
要帮助了解嵌入式ruby,请参阅此链接 http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html
答案 1 :(得分:1)
erb标记的表达式是&lt;%#code%&gt;
现在,如果我们也要打印该标签,那么我们应用&lt;%=#code%&gt;
即只使用一个'='符号,左侧也是如此
同样在每个迭代器中都没有任何东西可以打印,因此没有'='登录
该行与包含'end'的标签的情况类似。
因此,您的代码应该类似于
<tbody>
&lt;%Item.each do | item | %GT;
<tr>
<th>
&lt;%= item.rev%&gt;</th>
<th>
&lt;%= item.name%&gt;</th>
</tr>
&lt;%end%&gt;
</tbody>