zor*_*ras 7 pagination mongoid ruby-on-rails-3 kaminari
我想按月对帖子进行分页,所以我在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
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我放了
def show
@posts = Post.by_month(Time.now).page(params[:page]).per(20)
end
Run Code Online (Sandbox Code Playgroud)
在视野中
<%= paginate @posts, :theme => 'month_theme' %>
<%= render @posts %>
Run Code Online (Sandbox Code Playgroud)
问题:
我想这不是一个分页问题.处理查询的params [:month]值与页面偏移切换不同.你可能不需要一个分页库.
如何简单地创建这样的链接?
控制器:
@posts = Post.by_month(Time.parse(params[:month]) || Time.now)
Run Code Online (Sandbox Code Playgroud)
视图:
<% 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 %>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
当然,如果需要,您可以将此查询与正常分页相结合.但在这种情况下,分页链接不应与月份链接混合.
| 归档时间: |
|
| 查看次数: |
1259 次 |
| 最近记录: |