我创建了一个脚手架Phone,index.html.erb显示了一个包含电话列表和编辑/删除选项的简单表格。现在我想添加jquery复选框,以便我可以进行批量删除或移动操作。见附图here
有人可以给我任何关于如何做的想法/指示吗?
编辑 - 这是index.html.erb文件
<% @phones.each do |phone| %>
<tr>
<td><%= phone.model %></td -->
<td><%= phone.type %></td>
</tr>
<% end %>
这里没有表格,所以我不确定我是否可以使用form_tag帮助器或者我是否混淆了什么?
谢谢
答案 0 :(得分: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中创建一个路径。
答案 1 :(得分: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
。