Id喜歡能夠爲對象列表創建複選框。然後向用戶提供一些對所選對象執行的操作。即刪除,存檔等Rails - 使用複選框選擇多個對象並選擇要執行的動作
我知道瑞安的屏幕錄像,但它沒有解釋如何創建指向所選對象的多個動作的鏈接。它只是顯示他創建一個帶有url的form_tag到一個動作和一個提交按鈕。
Id喜歡能夠爲對象列表創建複選框。然後向用戶提供一些對所選對象執行的操作。即刪除,存檔等Rails - 使用複選框選擇多個對象並選擇要執行的動作
我知道瑞安的屏幕錄像,但它沒有解釋如何創建指向所選對象的多個動作的鏈接。它只是顯示他創建一個帶有url的form_tag到一個動作和一個提交按鈕。
我認爲你可以用兩種方法做到這一點。
第一:你可以儘可能多的按鈕添加到你想要的一種形式:
<%= f.submit "Action 1" %>
<%= f.submit "Action 2" %>
<%= f.submit "Action 3" %>
,他們都被提交到一個動作中,你可以檢查:
if params[:commit] == "Action 1"
do some stuff for action 1
elsif params[:commit] == "Action 2"
do other stuff
... and so on
end
另一種方式就是用一些js。例如,當用戶點擊按鈕「動作2」時,它會改變表單中的「動作」參數並將數據提交給此動作。
編輯: 在翻譯的網站的情況下,你可以這樣說:
<%= f.submit (I18n.t :action_1) %>
和控制器:
if params[:commit] == I18n.t :action_1
...
end
而且在en.yml加:
action_1: Action 1
In pl.yml add:
action_1: Akcja 1
等。
您可以隨時更改提交按鈕的名稱。只需查找params [:button_name]而不是params [:commit]即可。
您需要在控制器中使用某種方法來處理update_many對象的能力。也許一個之前的過濾器調度...
你能鏈接到瑞安的Screencast嗎? – Sukima 2012-02-29 15:29:19
http://railscasts.com/episodes/17-habtm-checkboxes – gayavat 2012-03-17 17:34:24