我试图让will_paginate订购我的帖子,以便最新帖子显示在第一页的顶部,但我似乎无法弄清楚如何让它做到这一点。
这是我按...order(:published_at)
第1页
2014-08-05
2014-08-04
2014-08-03
2014-08-02
2014-08-01 <- Oldest post
第2页
2014-08-10 <- Newest post
2014-08-09
2014-08-08
2014-08-07
2014-08-06
当我...order("published_at DESC")
第1页
2014-08-06
2014-08-07
2014-08-08
2014-08-09
2014-08-10 <- Newest post
第2页
2014-08-01 <- Oldest post
2014-08-02
2014-08-03
2014-08-04
2014-08-05
但这是我真正想要的顺序:
第1页
2014-08-10 <- Newest post
2014-08-09
2014-08-08
2014-08-07
2014-08-06
第2页
2014-08-05
2014-08-04
2014-08-03
2014-08-02
2014-08-01 <- Oldest post
答案 0 :(得分:0)
不幸的是,就我而言,我是我自己最大的敌人。
这是我在index.html.erb
<% @blog_posts.reverse.each do |blog_post| %>
# ^^^^^^^
<%= render "blog_post", blog_post: blog_post %>
<% end %>
这应该是我index.html.erb
<% @blog_posts.each do |blog_post| %>
<%= render "blog_post", blog_post: blog_post %>
<% end %>
并在我的控制器中
def index
@blog_posts = BlogPost.
published.
page(params[:page]).
order("published_at DESC")
end
生成此订单
第1页
2014-08-10 <- Newest post
2014-08-09
2014-08-08
2014-08-07
2014-08-06
第2页
2014-08-05
2014-08-04
2014-08-03
2014-08-02
2014-08-01 <- Oldest post