2013-12-17 2 views
0

Я хочу отображать только одну строку в таблице. Мой контроллер для тех же выглядит следующим образом:Отображение только одной записи в таблице

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

Увеличьте коэффициент приемки – Jeet

ответ

2

В этом случае вам не нужен цикл. U может непосредственно создать таблицу как этот

<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
@item= Item.find(params[:id]) 

Здесь @item будет объект класса Item. Таким образом, вам не нужно переводить объект на «каждый». Вы можете напрямую обращаться к атрибуту Item объектом @item.

@item.name 
@item.price 
@item.quantity..... 
Смежные вопросы