我想在表格中只显示一行。我的控制器看起来像这样:
def Add
@item= Item.find(params[:id])
end
并且我的表行看起来像这样..是不是可以替代方法.each
来显示一条记录?
<% @item.each do |item| %>
<tr>
<td><%= item.name %></td>
<td><%= item.price %></td>
<td><%= item.quantity %></td>
<td><%= item.quantity * item.price %></td>
<td>
<% link_to("update", '#', :class => 'action update') %>
<% link_to("X", '#', :class => 'action delete') %>
</td>
</tr>
<% end %>
答案 0 :(得分:2)
在这种情况下,您不需要循环。你可以直接创建像这样的表
<tr>
<td><%= @item.name %></td>
<td><%= @item.price %></td>
<td><%= @item.quantity %></td>
<td><%= @item.quantity * @item.price %></td>
<td>
<% link_to("update", '#', :class => 'action update') %>
<% link_to("X", '#', :class => 'action delete') %>
</td>
</tr>
答案 1 :(得分:1)
@item= Item.find(params[:id])
这里,@ item将是类Item的对象。所以你不需要用'each'来迭代Object。您可以通过@item对象直接访问Item属性。
@item.name
@item.price
@item.quantity.....