将_paginate它可以按天排序吗?[英] will_paginate can it order by day

本文是小编为大家收集整理的关于将_paginate它可以按天排序吗?的处理方法,想解了将_paginate它可以按天排序吗?的问题怎么解决?将_paginate它可以按天排序吗?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

场景:我有一个包含数百张照片的图片表.我目前正在使用"will_paginate"对每页 100 张照片进行分页.我想继续使用"will_paginate"但我希望分页按天进行.

我使用 sort_by 尝试了以下操作,但我认为它不起作用.

@pics = Picture.paginate(:page => params[:page]).sort_by(&:created_at)

最终目标:
主页只显示今天的照片.
现在,如果我点击第 2 页,它只会显示昨天的照片.
现在,如果我单击第 3 页,它会显示两天前拍摄的照片.

我想继续使用 will_paginate

推荐答案

你不能使用 will pagate by group/scope by date.您需要自己执行此操作.不过,这并不是很困难,您可以这样做:

# pictures_controller.rb

def index
  @date             = Date.parse(params[:date]) rescue Date.today
  @pictures         = Picture.where(:created_at => @date.at_midnight..@date.next_day.at_midnight)

  @total_pictures   = Picture.count
  @current_pictures = @pictures.size
end

# pictures/index.html.haml

- @pictures.each do |picture|
  = #....

= "Showing #{@current_pictures} pictures for #{@date}."
= "There are a total of #{@total_pictures} pictures."

= link_to 'View Previous day photos', pictures_url(:date => @date.prev_day)
- if @date.past?
  = link_to 'View Next day photos', pictures_url(:date => @date.next_day)

本文地址:https://www.itbaoku.cn/post/786370.html