我有以下代码:
<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>
<%= 应该只用于需要评估的表达式。
为了帮助理解嵌入式 ruby,请参阅此链接 http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html
erb 标签的表达式
现在是 <% #code %> 如果我们也想打印该标签,那么我们应用 <%= #code %>
即只使用一个'=' 符号并且在左侧也是如此。
同样在每个迭代器中,没有任何内容可以打印,因此该行中没有'='符号,与包含'end'的标签的情况类似。
因此你的代码应该看起来像
<tbody>
<% Item.每个都做 |item| %>
<tr>
<th>
<%= item.rev %></th>
<th>
<%= item.name %></th>
</tr>
<% end %>
</tbody>