在表中仅显示一条记录

时间:2013-12-17 12:34:08

标签: html ruby-on-rails ruby

我想在表格中只显示一行。我的控制器看起来像这样:

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 %>

2 个答案:

答案 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.....