2015-08-31 61 views
0

在我on Rails應用程序Ruby中的所有對象(不僅是那些當前列表頁面上)(Rails的),我想不僅是30組的用戶顯示的刪除,但所有的456個用戶(這是一個當然是例子)。ActiveAdmin - 如何刪除使用<a href="https://github.com/activeadmin/activeadmin" rel="nofollow">ActiveAdmin</a>

當我選擇「全選」,然後確認刪除,只刪除了30個用戶在當前屏幕頁面上可見。

我想選擇所有用戶(在所有視圖頁面,不僅是一個我目前看到),然後手動取消選擇前4個用戶(或任何我會在當前視圖頁面上手動選擇)因此,並非真正刪除所有用戶,這是我的問題。 ?此

回答

1

如果你想從所有的人的名單中刪除部分用戶,我建議你寫一個custom active admin action。最大限度地減少您的標記,使瀏覽器更容易呈現,併爲最糟糕的事情做好準備。如果你有100萬條記錄,那麼它就沒有辦法正常工作,沒有辦法解決這個問題。

我建議你接受一個事實,即用戶將通過使用搜索,也許如果刪除記錄你從字面上希望能夠刪除所有你可以提供一個自定義按鈕刪除所有會爲你做的。

另一種方法是寫了很多JavaScript來提供分頁的定製活躍管理員採取行動。它仍然是很多自定義代碼,沒有提供通用的解決方案。

最後的選擇,你可以爲主動管理頁面禁用分頁,但你可能有很多的每次

+0

謝謝你讓我意識到我正走向錯誤的方向。我並不需要刪除100萬條記錄,但即使做了300,這是很麻煩的頁移動。所以我只是改變了config.per_page = 100的分頁。非常感謝! – Mathieu

0

您可以覆蓋缺省的批處理動作來破壞/刪除所有用戶是這樣的:

ActiveAdmin.register User do 
    batch_action :destroy do |ids| 
    User.delete_all 
    redirect_to collection_path, alert: "Deleted all the Users!" 
    end 
end 

請參閱this瞭解更多信息。

+0

我想選擇所有用戶加載整個表的問題(在所有視圖頁面,不僅是一個我目前看到),然後manuall選擇當前頁面的前4位用戶。所以不是真的刪除所有用戶。這是我的問題/ – Mathieu

+0

我不知道,如果你能有那種特殊類型定製的。你可以看看他們在github上的代碼庫以及他們如何實現批處理操作。 https://github.com/activeadmin/activeadmin/blob/c24c92d4eef00eae464349b53328ea6dffa3cf21/lib/active_admin/batch_actions/resource_extension.rb 此外,你可以嘗試寫一個自定義的動作,但你想要的方式,我非常懷疑你是否真的可以甚至可以使用自定義操作來實現。 –

相關問題