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

jay*_*jay 4 sorting ruby-on-rails ruby-on-rails-3

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

 @post = Post.last 
Run Code Online (Sandbox Code Playgroud)

如果我想要10个最近的帖子,即如果

 @recentposts = Post.#whatdoIputhere?
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Rya*_*igg 12

詹姆斯·肖尔的答案的另一种选择:

posts = Post.order('created_at DESC').limit(10)
Run Code Online (Sandbox Code Playgroud)

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

posts.where(:user_id => 1)
Run Code Online (Sandbox Code Playgroud)

直到对象被迭代或inspect编辑,SQL查询才真正运行.


jsc*_*orr 7

试试这个:

@recentposts = Post.all(:order => 'created_at DESC', :limit => 10)
Run Code Online (Sandbox Code Playgroud)