Grouped table
How this page is built
the gem renders it — this is all you write
Grouping is a render-time arrangement, like the layout. Add group_by: :genre — the gem orders by the group key, splits the rows into collapsible groups (chevron in the header) and shows a per-group count. With 120 books, groups start collapsed beyond config.group_collapse_threshold (default 50), opening only the first; the open ones live in ?open=, so a half-expanded view is copy-pasteable.
app/views/groups/index.html.erb
<%= crud_collection @books, group_by: :genre %> <%# belongs_to, enum or a column %>
Read more: Grouping
| Cover | Title | Author names | Genre | Price | Publisher | Active | ||
|---|---|---|---|---|---|---|---|---|
|
|
||||||||
| Fiction 4 | ||||||||
| Scifi 3 | ||||||||
![]() |
The Dispossessed Winter 73 | Adrian Tchaikovsky and Iain Banks | Scifi | 29.24 € | Ace | ✗ | ||
![]() |
The Hidden Archive 98 | Martha Wells and Ursula Le Guin | Scifi | 27.03 € | DAW | ✗ | ||
![]() |
The Endless Machine 117 | Ted Chiang and Kim Robinson | Scifi | 14.47 € | Gollancz | ✗ | ||
| Nonfiction 8 | ||||||||


