app/views/groups/_members.html.erb
<% cache group.top_members_selection do %>
<div class="container-fluid members-container bg-light" id="top-members">
<div class="container pb-4">
<div class="row mt-2">
<div class="col-md-12">
<h2 class="text-center pb-1">
Most Involved Members
</h2>
<% if !group.members_with_role.empty? %>
<div class="row d-flex justify-content-center mt-1rem mb-2rem">
<%= render partial: "user",
collection: group.top_members_selection, as: :user,
locals: {
object: group,
group: group,
path: "group_member_path"
}, cached: true %>
</div>
<% else %>
<div class="text-center">
<h3 class="h5 mt-2rem mb-3 pb-3">
We need some members!
</h3>
<div class="mb-2rem">
<%= link_to "Invite someone", new_group_invitation_path(group),
class: "btn btn-primary btn-lg btn-3d" %>
</div>
</div>
<% end %>
<% if group.members_with_role.size > Group::TOP_MEMBERS / 2 %>
<div class="text-center mb-4">
<%= link_to "See all members",
group_members_path(group) %>
</div>
<% end %>
</div>
</div>
</div>
</div>
<% end %>