如何使用rails使用表单中的数据更新表

时间:2011-09-27 17:08:21

标签: ruby-on-rails

我在数据库中有一个表,其中有两列,名称和ID。我有一个名为FakeTable的rails模型。

我有一个模型的控制器:

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

我有两个问题。首先,如何使用ID访问表中的每一行以显示数据?目前我使用这两行代码来访问表中的每一行:

<% @data.each_with_index do |d, index| %>
   <% fields_for "d[#{index}]", d do |f| %>

我想更改此内容,以便使用ID列。

我的第二个问题是,当我点击“更新”按钮时,我希望从表格中的文本字段更新表格中的数据。我该怎么办?我在rails 2.3.8上使用ruby。谢谢!

0 个答案:

没有答案