Отображение только одной записи в таблице

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
    Увеличьте ваш коэффициент принятия
Теги:

2 ответа

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню