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 Hidden Forest 1 | Frank Herbert, Ted Chiang, and Ann Leckie | Nonfiction | 28.24 € | Orbit | ✗ | ||
![]() |
The Ancient Tower 11 | Ted Chiang, Ann Leckie, and Frank Herbert | Fiction | 40.82 € | Gollancz | ✗ | ||
![]() |
The Dispossessed Winter 24 | Ted Chiang | Nonfiction | 19.40 € | Del Rey | ✗ | ||
![]() |
The Dispossessed Ocean 67 | Martha Wells | Fiction | 40.62 € | Tor Books | ✗ | ||
![]() |
The Broken Ocean 68 | Kim Robinson and Stanisław Lem | Nonfiction | 6.07 € | Tor Books | ✗ | ||
![]() |
The Dispossessed Winter 73 | Adrian Tchaikovsky and Iain Banks | Scifi | 29.24 € | Ace | ✗ | ||
![]() |
The Quiet Dune 76 | Mary Shelley | Nonfiction | 24.14 € | Vintage | ✗ | ||
![]() |
The Distant Engine 80 | Joe Abercrombie, Iain Banks, and Ann Leckie | Nonfiction | 43.18 € | Del Rey | ✗ | ||







