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 | ||
|---|---|---|---|---|---|---|---|---|
|
|
|
|||||||
| Ace 2 | ||||||||
| Orbit 2 | ||||||||
![]() |
The Hidden Forest 1 | Frank Herbert, Ted Chiang, and Ann Leckie | Nonfiction | 28.24 € | Orbit | ✗ | ||
![]() |
The Luminous Ocean 108 | Ted Chiang | Nonfiction | 39.89 € | Orbit | ✗ | ||
| DAW 2 | ||||||||
![]() |
The Silent Station 60 | Becky Chambers, Octavia Butler, and Margaret Atwood | Nonfiction | 34.96 € | DAW | ✗ | ||
![]() |
The Broken Station 61 | Octavia Butler | Nonfiction | 18.89 € | DAW | ✗ | ||
| Baen 1 | ||||||||
| Del Rey 1 | ||||||||
| Vintage 1 | ||||||||



