加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 与kaminari的月份分页

发布时间:2020-12-17 04:16:34 所属栏目:百科 来源:网络整理
导读:我想按月对帖子进行分页,所以我在Post模型中添加了以下范围 class Post include Mongoid::Document include Mongoid::Timestamps scope :by_month,lambda {|end_date| Post.order_by(:created_at = :asc).where(:created_at.gte = (end_date.to_date.beginni
我想按月对帖子进行分页,所以我在Post模型中添加了以下范围
class Post
  include Mongoid::Document
  include Mongoid::Timestamps

  scope :by_month,lambda {|end_date| Post.order_by(:created_at => :asc).where(:created_at.gte => (end_date.to_date.beginning_of_month),:created_at.lte => (end_date.to_date))}
end

在我的控制器中,我把

def show
  @posts = Post.by_month(Time.now).page(params[:page]).per(20)
end

在视野中

<%= paginate @posts,:theme => 'month_theme' %>
<%= render @posts %>

问题:

>分页不按月工作,我想在页面中显示一个月的所有结果,用params [:month] = 2或params [:month] = Feb替换params [:page]
>我如何查看’2011年8月’而不是1,2
>循环月份和年份,就像你在’2011年1月’中转到之前一样,它将转到’2010年12月’

解决方法

我想这不是一个分页问题.处理查询的params [:month]值与页面偏移切换不同.你可能不需要一个分页库.

如何简单地创建这样的链接?

控制器:

@posts = Post.by_month(Time.parse(params[:month]) || Time.now)

视图:

<% Post.only(:created_at).map {|p| p.created_at.to_date.beginning_of_month}.uniq.sort.each do |m| -%>
  <%= link_to_unless_current m,:month => m %>&nbsp;
<% end -%>

当然,如果需要,您可以将此查询与正常分页相结合.但在这种情况下,分页链接不应与月份链接混合.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读