После того, как вы извлекли всех пользователей из базы данных, вы можете сгруппировать их в хэш по их роли и затем просмотреть результаты, например, так:
@users = User.all(:order => "role ASC").group_by(&:role)
Это приведет к хешу:
=> {"admin" => [<User...>, <User...>, ...], "premium" => [<User...>]}
Таким образом, в ваших представлениях вы можете просматривать их с помощью метода each_pair:
<% @users.each_pair do |role, users| %>
<tr>
<td><%= role %><td>
<td>
<% users.each do |user| %>
<span><%= user.name %></span>
<% end %>
</td>
</tr>
<% end %>