У меня есть таблица в базе данных с двумя столбцами, имя и идентификатор.У меня есть модель рельсов для этого с именем FakeTable.
У меня есть контроллер для модели:
class FakeTablesController < ApplicationController
def index
@data = FakeTable.find(:all)
end
def to_index
redirect_to( :action => "index" )
end
def update
redirect_to( :action => "index" )
end
end
У меня есть форма для отображения информации в этой таблице:
<table>
<thead>
<tr>
<th><%= "Name" %></th>
</tr>
</thead>
<tbody>
<% form_tag :action => "update" %>
<% @data.each_with_index do |d, index| %>
<% fields_for "d[#{index}]", d do |f| %>
<tr>
<td class="tn">Name: <%= f.text_field :name %></td>
<td class="tn">Id: <%= f.text_field :id %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
<%= submit_tag 'Update' %>
<%= end_form_tag %>
У меня два вопроса.Во-первых, как мне использовать идентификатор для доступа к каждой строке таблицы для отображения данных?В настоящее время я использую эти две строки кода для доступа к каждой строке в таблице:
<% @data.each_with_index do |d, index| %>
<% fields_for "d[#{index}]", d do |f| %>
Я хотел бы изменить это, чтобы вместо этого использовался столбец идентификатора.
Мой второй вопросКогда я нажимаю кнопку «Обновить», я хочу, чтобы данные в таблице обновлялись из текстовых полей в форме.Как бы я это сделал?Я использую рубин на рельсах 2.3.8.Спасибо!