1

我创建了一个脚手架 Phone 并且 index.html.erb 显示了一个简单的表格,其中包含电话列表和编辑/删除选项。现在我想添加 jquery 复选框,以便进行批量删除或移动操作。在此处查看附件图片

有人可以给我关于如何做的任何想法/指示吗?

编辑 - 这是 index.html.erb 文件

<% @phones.each do |phone| %>
  <tr> 
    <td><%= phone.model %></td -->
    <td><%= phone.type %></td>
  </tr>
<% end %>

这里没有表格,所以我不确定我可以使用 form_tag 助手还是我混淆了什么?

谢谢

4

2 回答 2

2

这将是一个起点,一个带有复选框的表单。

<%= form_tag(:controller => "phone", :action => "bulk_update", :method => "PUT") %>
 <%= check_box_tag(:blackberry) %>
 <%= label_tag(:pet_dog, "Blackberry") %>
 <%= check_box_tag(:Nokia) %>
 <%= label_tag(:pet_cat, "Nokia") %>
 <%= submit_tag("Update") %>
<% end %>

然后是一个名为 bulk_update 的控制器操作,您可以根据已提交的内容删除/更新记录。

编辑:您还需要为此在 routes.rb 中创建一条路线。

于 2013-01-02T14:51:44.927 回答
1

将表格包裹在表单助手中。

<%= form_tag foo_path do %>
  # ...
  <% @phones.each do |phone| %>
    <tr>
      <td><%= check_box_tag "selected[]", phone.id %></td>
      <td><%= phone.model %></td>
      <td><%= phone.type %></td>
    </tr>
  <% end %>
  # ...

  <%= button_tag "Do something" %>
<% end %>

这将创建一个表单,表格的每一行都有一个复选框。替换foo_path为您要使用的路由助手。所选复选框的值将传递给数组中的控制器操作params[:selected],您可以在其中随意使用它们。每个复选框的值将是id对应phone对象的值。

于 2013-01-02T17:03:11.137 回答