ActiveAdmin 문서 explain 페이지 매김을 비활성화하고 config.per_page
을 사용하여 리소스 색인의 페이지 당 레코드 수를 설정하는 방법은 있지만 기본 제공 방법이 있는지 궁금합니다 사용자가 per_page
값을 직접 설정하려면 드롭 다운이 있니?ActiveAdmin은 사용자가 인덱스의 per_page 값을 설정할 수 있도록합니다
답변
불행히도 그러한 가능성은 없습니다. 당신은 단지 하나의 기본 세계적으로
config.default_per_page = 50 #in config/initializers/active_admin.rb
로 설정하거나 이미 언급 한 바와 같이 config.per_page
를 사용하여 자원별로 설정할 수 있습니다.
하거나 자원 config.per_page = 25,50,100]
I의 이 질문이 몇 살인 지 알지만, 만약 내가 그것을 가로 질러 온다면, 누군가 다른 사람과 나는 마침내이 방법을 꽤 정직한 자바 스크립트를 사용하여 발견했습니다!
내 설정 :
레일 ActiveAdmin을 (1.0.0pre) 4.2
배경 : 전달 된 경우
- ActiveAdmin을합니다 (
per_page
쿼리 문자열 매개 변수를 해석 않습니다)- ActiveAdmin은 숨겨진 필드를 사용합니다. d
#hidden_active_admin_per_page
필드 (색인 페이지의 필터 섹션에 있음)을 사용하여 추가 필터링/페이징 (예 : 이 설정이 변경 될 때, 내가이 기능 내장 활용하고 간단하게이 "숨겨진"필드를 표시하고 볼 수 있도록하기로 결정
다른 필터 기준에 쿼리 문자열 매개 변수)로 새 값을 전송 관리자에게 (드롭 다운).이 잡아에게 ActiveAdmin을 클라이언트 측에 per_page 설정을 관리하기 위해 사용하는 숨겨진 필드에서 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); } });
을 사용
var per_page_qty = $("#hidden_active_admin_per_page").val();
은 숨겨진 필드가 활성화 관리자에 의해 추가 된 항목 제거
$("#hidden_active_admin_per_page").remove();
양식의 필터 부분을 다시 "볼 수"입력 추가 (우리 cannot simply unhide the hidden field 당신은 드롭 다운 : 요청 때문에)
값$("form.filter_form").prepend(...
세트 per_page 입력 필드의 제거 전에 검색된
012,351 6,$("#hidden_active_admin_per_page").val(per_page_qty);
추가 생각
I 힘든 "사전 보류"입력의 기본 per_page 부호화 (즉 select
)를 25로 설정했기 때문에 내 설정에서 내 기본값이었습니다. 레일 기본 설정에서이 값을 주입 할 가능성이 가장 높습니다.
그것은 사용하여 확실히 가능 :
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
이 수치가! – sixty4bit