2014-02-13 42 views
2

我在索引頁上有一個自定義收集操作,我想訪問該操作中的過濾數據。我怎樣才能做到這一點?我可以獲得收藏本身嗎?或者可能是過濾器參數?ActiveAdmin對已過濾數據的收集操作

collection_action :do_something do 
    # call some async process 
    redirect_to :action => :index, :notice => "started working!" 
    end 

    action_item :only => :index do 
    link_to('DO WORK', do_something_admin_game_stats_path) 
    end 
+0

您的自定義操作代碼是什麼樣的? –

+0

添加了代碼示例@JoshKovach – tali

+0

在這裏使用'batch_action'會更有意義嗎?這樣,您可以使用當前範圍內的項目上的選擇列... –

回答

3

你應該通過你link_to行動scopefilter PARAMS作爲選項,然後你collection_action中使用scoped_collection

link_to "DO WORK", do_something_admin_game_stats_path(param.slice(:scope, :filter)) 

我不確定過濾器是否是正確的參數鍵,但原理應該是相同的。如果由於某種原因,您無法在操作鏈接中訪問params,請嘗試controller.params或者如果您真的絕望controller.send(:params)。關於我的頭頂,我不確定這些參數是否可以在頭頂觀看。

+0

哪一個最終爲你工作? –

+1

我用'params ['q']' – tali