标签: ruby-on-rails ruby-on-rails-3
背景:我有一个帖子列表,需要对其“投票”进行排序,然后显示前50个帖子。
目标:我目前正在使用.take(50)来完成此操作,因为使用.limit(50)或.first(50)显示前50个帖子已取消。
.take(50)
.limit(50)
.first(50)
使用.take会使应用程序异常缓慢,是否有此方法的替代方法?
.take
答案 0 :(得分:3)
您可以使用以下内容组合限制和订单子句:
Post.all(:order => "votes", :limit => 50)
这会生成仅选择50个帖子但已订购的SQL。