Pagination
How this page is built
the gem renders it — this is all you write
The gem doesn't paginate on its own (no surprise row limits). You paginate in your controller with your own gem — here kaminari — and because a kaminari-paginated relation carries its page state, crud_collection notices and renders the footer pager automatically. The pager's ?page= composes with the gem's own filter/sort params (120 seeded books, 8 per page).
app/controllers/books_controller.rb
@query = CrudComponents::Query.new(Book, params, fieldset: :index, ability: current_ability)
@books = @query.apply(Book.all).page(params[:page]).per(8) # kaminari
app/views/pagination/index.html.erb
<%= crud_collection @books, query: @query %> <%# the footer pager renders itself %>
Read more: Pagination
| Cover | Title | Author names | Genre | Price | Publisher | Active | ||
|---|---|---|---|---|---|---|---|---|
|
|
|
|||||||
![]() |
The Dispossessed Archive 82 | Octavia Butler and Ted Chiang | Scifi | 35.72 € | Ace | ✓ | ||
![]() |
The Distant Engine 83 | Martha Wells, Liu Cixin, and Ursula Le Guin | Scifi | 39.52 € | Del Rey | ✓ | ||
![]() |
The Quiet Door 87 | Ted Chiang | Scifi | 35.06 € | Tor Books | ✓ | ||
![]() |
The Dispossessed Empire 89 | Kim Robinson and Joe Abercrombie | Scifi | 11.61 € | — | ✓ | ||
![]() |
The Hidden Tower 91 | Adrian Tchaikovsky, Frank Herbert, and Kim Robinson | Scifi | 29.28 € | Ace | ✓ | ||
![]() |
The Endless Ocean 105 | Liu Cixin and Kim Robinson | Scifi | 34.90 € | Baen | ✓ | ||
![]() |
The Hidden Door 107 | Iain Banks and Mary Shelley | Scifi | 17.84 € | — | ✓ | ||
![]() |
The Dispossessed Signal 112 | Ted Chiang and Frank Herbert | Scifi | 38.73 € | Gollancz | ✓ | ||







