0

我即將完成我的線程郵件系統的最後部分爲用戶。所有刪除工作都很好,但是在我繼續閱讀我的下一個功能之前,我想讓用戶能夠刪除選定的郵件。如何設置刪除軌道上的紅寶石選定的郵件功能

這是我迄今爲止想到的做法。

  1. 將複選框標記添加到循環每個消息的每個循環中。
  2. 讓我的消息控制器「destroy_selected_messages」動作有一個「刪除選定的」鏈接。

我需要做的是如何獲取所有選定消息ID的數組。然後將它作爲參數傳遞給路徑。刪除所有鏈接路徑。

<%= link_to 'Delete Selected', messages_destroy_selected_messages_path(ARRAY_WITH_IDS), :method => :delete, :confirm => "Are you sure?" if @current_thread_messages.any? %> 

此刪除選定的鏈接不會是循環的一部分,因爲我不希望它顯示了每封郵件,但在螺紋的頂部,而不是做。

  1. 我需要弄清楚如何將所有選定消息的想法數組傳遞到該參數。我如何從每個循環中獲取它們,而不必進入消息幫助器並編寫一些時髦的方法。

  2. 我有複選框標記例如check_box_tag ...我如何設置一個空數組,然後我可以傳入消息ID?例如爲:

    <%= check_box_tag .......,:值=> message.id &>

幫助將不勝感激。我在railscasts中查看了一箇舊的屏幕錄像,但是我認爲這是從2007年開始的。

親切的問候

回答

1
  1. 您可以name="message_ids[]"多選擇輸入。它將通過HTTP服務器作爲數組傳遞給您的params[:message_ids]
  2. 從問題的HTML方面來看,我認爲表單助手<%= check_box_tag "message_ids[]", :value => message.id %>就足夠了。
  3. 在控制器操作中,記錄params[:message_ids]並查找它,它應該是一個Array。
+0

但是,每個循環都是選擇刪除的鏈接。單擊時,該複選框如何與刪除所有鏈接一起使用? – LondonGuy 2012-02-17 20:06:33

+0

無法使用link_to,因爲它無法提取表單。所以我不得不使用submit_tag並將每個循環嵌入實際的形式。 – LondonGuy 2012-02-17 20:15:49

+0

是的,你必須用submit_tag做一個完整的表單 – farnoy 2012-02-17 20:22:00