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: :publisher — 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: :publisher %> <%# belongs_to, enum or a column %>
Read more: Grouping
| Cover | Title | Author names | Genre | Price | Publisher | Active | ||
|---|---|---|---|---|---|---|---|---|
|
|
||||||||
| — 4 | ||||||||
| Tor Books 4 | ||||||||
| Ace 4 | ||||||||
| Orbit 6 | ||||||||
| Gollancz 3 | ||||||||
| DAW 3 | ||||||||
| Baen 8 | ||||||||
| Del Rey 3 | ||||||||
![]() |
The Burning Machine 8 | Margaret Atwood and Becky Chambers | Fiction | 38.02 € | Del Rey | ✓ | ||
![]() |
The Broken Empire 43 | Ursula Le Guin | Fiction | 20.31 € | Del Rey | ✓ | ||
![]() |
The Silent Winter 120 | Iain Banks | Fiction | 16.22 € | Del Rey | ✓ | ||
| Vintage 6 | ||||||||


