在Rails中,如何检索模型中的10个最新条目?

时间:2011-09-19 18:34:58

标签: ruby-on-rails ruby-on-rails-3 sorting

假设我想返回模型中的最后一个条目,这很容易。发现最近的帖子(假设降序排列)

 @post = Post.last 

如果我想要最近的10个帖子,那该怎么办

 @recentposts = Post.#whatdoIputhere?

我怎样才能最轻松有效地做到这一点?

谢谢!

5 个答案:

答案 0 :(得分:12)

James Schorr回答的另一种选择:

posts = Post.order('created_at DESC').limit(10)

这种替代方案的好处是它允许你在结尾处继续链接更多的关系范围:

posts.where(:user_id => 1)

直到对象被迭代或inspect,SQL查询实际上才会运行。

答案 1 :(得分:7)

试试这个:

@recentposts = Post.all(:order => 'created_at DESC', :limit => 10)

答案 2 :(得分:0)

试试这一切

@recentposts = Post.order(“created_at desc”)。limit(10)

答案 3 :(得分:0)

在Rails 4中,你可以做到

Post.order(created_at: :desc).limit(10)

答案 4 :(得分:-1)

按降序排列最后10条记录:

Post.last(10).reverse