Merender halaman yang diberi nomor halaman dalam tampilan JBuilder

Saat ini saya sedang membuat halaman kembalinya peserta kueri yang memiliki lebih dari 9000 item. Halaman dan perutean saya berfungsi dengan baik tetapi saya ingin halaman tersebut muncul di bagian bawah halaman sebagai link yang dapat diklik ke halaman hasil tersebut. Saya relatif baru dalam menggunakan JBuilder. Saya menggunakan permata Kaminari serta permata API-Pagination dan ingin tahu cara menambahkan nomor halaman yang terlihat/dapat diklik ke tampilan JBuilder menurut Kaminari Docs <%= paginate @attendees %> hanya itu yang diperlukan. Tetapi sejauh yang saya pahami, JBuilder tidak berfungsi atau menafsirkan logika itu sebagai objek JSON yang murni dibuat? Setiap saran dihargai serta penjelasan yang lebih baik tentang apa yang dilakukan JBuilder.

Controller

module Reports
  class ConferencesController < ::ApplicationController
    def attendees
      @conference = Conference.find(attendee_params[:conference_id])
      @attendees = @conference.attendees

      paginate json: @attendees, per_page: 500
    end

    private

    def attendee_params
      params.permit(:conference_id)
    end
  end
end
View
json.conference @conference, partial: 'conference', as: :conference
json.attendees @attendees, partial: 'attendee', as: :attendee


    <%= paginate @attendees %>


person steveks17    schedule 29.08.2020    source sumber


Jawaban (1)


Kaminari berfungsi dengan baik untuk sebagian HTML, tetapi ada beberapa hal tambahan yang perlu Anda lakukan untuk menyiapkannya untuk format respons lainnya. Anda dapat menghapus baris paginate json: @attendees, per_page: 500 dari pengontrol Anda demi sesuatu seperti

@attendees = @conference.attendees.page(params[:page]).per(500)

Selain itu, Anda perlu memberikan informasi tambahan ke sebagian jbuilder Anda untuk merender informasi ini.

Sesuatu seperti ini:

json.meta do
  json.total_pages @attendees.total_pages
  json.total_count @attendees.total_count
end
# See the Kaminari docs for more methods available https://github.com/kaminari/kaminari#the-page-scope
person Jack    schedule 13.11.2020