Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 限制activerecord查询返回的结果总数?_Ruby On Rails_Ruby On Rails 3_Activerecord_Limit - Fatal编程技术网

Ruby on rails 限制activerecord查询返回的结果总数?

Ruby on rails 限制activerecord查询返回的结果总数?,ruby-on-rails,ruby-on-rails-3,activerecord,limit,Ruby On Rails,Ruby On Rails 3,Activerecord,Limit,是否可以硬限制activerecord的页面结果数 我知道限制,但使用无休止滚动的jquery插件,它只限制每页记录的数量。限制(10)=每页10。我需要限制记录的总数,以便某个用户不能获得超过前100个结果(例如) 这是可能的吗?如何做到这一点?您不能从活动记录中删除,除非您设置了一个类似的条件(例如:id)。但是,您可以通过查看页面和每页参数来控制查询 page = params[:page] || 0 per_page = 20 if page * per_page > 100

是否可以硬限制activerecord的页面结果数

我知道限制,但使用无休止滚动的jquery插件,它只限制每页记录的数量。限制(10)=每页10。我需要限制记录的总数,以便某个用户不能获得超过前100个结果(例如)


这是可能的吗?如何做到这一点?

您不能从活动记录中删除,除非您设置了一个类似的条件(例如:id)。但是,您可以通过查看页面和每页参数来控制查询

page = params[:page] || 0
per_page = 20

if page * per_page > 100
  @users = [] # You may have to make this a collection depending on what pagination gem you use
else
  @users = User.page(page).per_page(per_page)
end

我知道这个问题很老了,但我最终还是来到了这里,并认为我在别处找到的答案可能会有所帮助。从版本4开始,ActiveRecord上有一个限制函数-

User.limit(10) # generated SQL has 'LIMIT 10'

我还没想过这个,谢谢你给我指出这个作品,让我很开心