我正在尝试使用Kaminari对迭代结果进行分页。分页显示得很好,但没有将其切入另一页。即使单击第2页,所有内容都显示在同一页上,但结果仍与第1页相同]
我正在使用Rails 6和ruby 2.5
在我的控制器中,我有这个
def dashboard
user_gigs = current_user.gigs
@user_gigs_pager = Kaminari.paginate_array(user_gigs).page(params[:page]).per(4)
end
然后我认为我叫分页者
<div class="card">
<div class="card-header-title is-centered">
<%= paginate @user_gigs_pager %>
</div>
</div>
这是我的完整查看代码
<% current_user.gigs.each do |gig| %>
<%# <% user_gigs = current_user.gigs %>
<div class="column is-one-third">
<div class="card">
<div class="card-image">
<%= link_to edit_gig_path(gig) do %>
<figure class="image is-4by3">
<!-- Gig Cover Image Here -->
<%= image_tag gig_cover(gig) %>
</figure>
<% end %>
</div>
<div class="card-content p-t-5 p-b-5">
<p class="subtitle is-6 m-b-5"><%= link_to gig.title.truncate(20), gig_path(gig) %></p>
<span class="star-review"><i class="fa fa-star"></i>
<%= gig.average_rating %> <span class="star-review">(<%= gig.reviews.count %>)</span>
</span>
</div>
<footer class="card-footer">
<p class="deletegig">
<%= link_to destroy_gig_path(gig), method: :delete, data: { confirm: "are you sure"} do %>
<span class="icon has-text-danger">
<i class="far fa-trash-alt"></i>
</span>
<% end %>
</p>
<% basic_price = gig.pricings.find{ |p| p.pricing_type == 'basic' }%>
<a class="has-text-danger is-block card-footer-item has-text-right">
<% if !basic_price.nil? %>
<span class="small-title">Points</span> <i class="fab fa-bitcoin"></i>
<strong><%= basic_price.price %></strong>
<% else %>
<strong>
<span class="small-title has-text-dark">Pas de point</span>
</strong>
<% end %>
</a>
</footer>
</div>
</div>
<% end %>
</div>
</div>
</div>
<div class="card">
<div class="card-header-title is-centered">
<%= paginate @user_gigs_pager %>
</div>
</div>
Kaminari.paginate_array(user_gigs).page(params[:page]).per(4)
期望页码作为page
的参数,每页的记录数作为per
的参数。
您的params
必须在:page
键中包含页码(即1或2或3 ...)。