2013-01-02 46 views
1

我創建了一個腳手架電話和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

只是一個簡單的表單和控制器操作,遍歷所選項目並銷燬它們。你有任何代碼嗎?你的意思是你想使用AJAX,因爲這可以在沒有JQuery的情況下完成? – cih

回答

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中爲此創建一個路由。

+0

cih,我已經添加了index.html.erb的代碼,不幸的是我無法理解上面的代碼在做什麼,你能澄清一點嗎?謝謝 – iCyborg

+0

這是使用rails形式助手,它們用於生成HTML,如果您在瀏覽器中查看索引頁的來源,您將看到已生成的HTML。當你點擊提交時,它會向你的手機控制器發送一個PUT請求。合理? – cih

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]中的控制器操作,您可以隨意使用它們。每個複選框的值將是相應的phone對象的id

相關問題