So, I list all the members of my site and group them by name so that the list is better organized. Therefore, in my opinion, all my members are grouped by the first letter of their memberβs name, for example:
B
Bakedfish
Beercan Dan
Bigmike33x
C
Cynicalassassin
ect..
In any case, I also want to paginate the pages on this list, but I cannot add the Kaminari pagination arguments to my controller if Im using order because I get an undefined method error.
therefore this does not work:
@members = Member.all.group_by{|u| u.fullname[0].titleize}.page(params[:page]).per(18)
my view is as follows:
<div class="content">
<%= paginate @members %>
</div>
<% @members.keys.sort.each do |starting_letter| %>
<h3>
<%= link_to starting_letter, {:action => :browse, :controller =>:members, :letter => starting_letter } %>
</h3>
<ol>
<% @members[starting_letter].each do |member| %>
<li>
<% if member.is_artist? %>
<%= link_to member.full_name, member_path(member), :class=>"artist" %>
<% else %>
<%= link_to member.full_name, member_path(member) %>
<% end %>
</li>
<% end %>
</ol>
<% end %>
Here is my error message:
NoMethodError (undefined method `page' for #<Hash:0x007f78d4bf48f8>):
app/controllers/members_controller.rb:10:in `index'
source
share