回答

1

不幸的是沒有這種可能性。 您只能將它設置爲默認的全局

config.default_per_page = 50 #in config/initializers/active_admin.rb 

或使用config.per_page因爲你已經提到它設置每個資源。

要啓用下拉per_page設置配置/初始化/ active_admin.rb: config.default_per_page = [25,50,100]
或只是在一個資源 config.per_page = [25,50,100]

+0

這是一個恥辱! – sixty4bit 2014-09-08 15:46:42

0

我知道這個問題是一個幾歲,但如果我碰到它,別人可能和我終於找到了一種方法來完成這個使用一些非常直接的JavaScript!

我的設置:

的Rails 4.2 ActiveAdmin(1.0.0pre)

背景:

  • ActiveAdmin並解釋per_page查詢字符串參數(如果傳入)
  • ActiveAdmin使用隱藏字段d #hidden_active_admin_per_page字段 (在索引頁面的過濾器部分中)以通過附加的過濾/尋呼來維持該設置。當此設置改變時,它發出的新的價值與其它過濾條件的查詢字符串參數)

我決定利用這個內置的功能和簡單的揭露這個「隱藏」字段並使其可見到管理員(作爲下拉菜單)。

代碼我用

$(document).ready(function() { 

    var per_page_qty = $("#hidden_active_admin_per_page").val(); 

    $("#hidden_active_admin_per_page").remove(); 

    $("form.filter_form").prepend(' 
    <div class="select input optional filter_form_field filter_select" id="per_page_input"> 
     <label for="per_page" class="label">Results Per Page</label> 
     <select name="per_page" id="hidden_active_admin_per_page"> 
     <option selected="selected" value="25">25</option> 
     <option value="50">50</option> 
     <option value="100">100</option> 
     <option value="500">500</option> 
     <option value="1000">1000</option> 
     </select> 
    </div>'); 

    if (typeof per_page_qty !== 'undefined') { 
    $("#hidden_active_admin_per_page").val(per_page_qty); 
    } 
}); 

它是如何工作

  1. 抓鬥從ActiveAdmin使用在客戶端管理per_page設置隱藏字段的per_page值

    var per_page_qty = $("#hidden_active_admin_per_page").val();

  2. 刪除隱藏字段通過主動管理增加(因爲我們cannot simply unhide the hidden field,你要求一個下拉:))

    $("#hidden_active_admin_per_page").remove();

  3. 添加一個「看得見」輸入回形式的濾波器部分

    去除字段的前

    $("form.filter_form").prepend(...

  4. 集per_page輸入值檢索

    $("#hidden_active_admin_per_page").val(per_page_qty);

附加思想

我硬編碼在 「預先計劃」 輸入默認per_page(即select)到25,因爲這是我的配置我的默認值。你很可能從rails默認設置中注入這個值。

0

它使用當然可以:

ActiveAdmin.register MyModel do 

    before_action only: :index do 
    unless params[:per_page] 
     # Default pagination option if it's not already set. 
     @per_page = 30 
    end 
    end 

    # The page drop down options. 
    config.per_page = [10, 20, 30, 50, 75, 100] 

    # .. rest of your activeadmin code. 

end