繁体   English   中英

Ruby on Rails和Kaminari分页

[英]ruby on rails and Kaminari pagination

我正在使用Kaminari对许多学校对象进行分页,但我必须按等级对它们进行排序,但是出了点问题:分页是可以的,但是按等级对分页的每一页进行宝石排序,而不是对所有页面中的所有学校都按宝石排序, 例如 :

page 1 -> school 1 - rate 20, school 2 - rate 10, school 3 - rate 0
page 2 -> school 4 - rate 12, school 5 - rate 6, school 7 - rate 0
page 3 -> ...

而且我要 :

page 1 -> school 1 - rate 200, school 2 - rate 120, school 3 - rate 100
page 2 -> school 4 - rate 90, school 5 - rate 90, school 6 - rate 85
...

这是我的代码:

def index
  @schools = School.where(:subscription.exists => false).page(params[:page]).per(50)
  @schoolss = @schools.sort_by(&:ratings_count).reverse
end

和视图

  <tbody>
    <% @sch.each do |school| %>
        <tr>
          <th> <%= link_to school.title, school.path_school_profile %> </th>
          <th> <%= school.city %> </th>
          <th> <%= school.ratings.count %> avis | <%= school.avg_ratings_score_round %>/5 </th>
        </tr>
    <% end %>
  </tbody>
</table>
<%= paginate @schools %>
<%= page_entries_info @schools %>

有人可以帮助我吗?

您将@schools排序为新变量(@schoolss),为什么不使用它呢?

将您的索引控制器更改为此

def index
  @schools = School.where(:subscription.exists => false).order_by(:ratings_count => 'desc').page(params[:page]).per(50)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM