是否可以硬限制来自activerecord的页面结果数?
我知道限制,但使用无休止的滚动 jquery 插件它只限制每页的记录数 .limit(10) = 10 每页。例如,我需要限制记录的总数,以便某个用户获得的结果不能超过前 100 个。
这可能吗?怎么做?
是否可以硬限制来自activerecord的页面结果数?
我知道限制,但使用无休止的滚动 jquery 插件它只限制每页的记录数 .limit(10) = 10 每页。例如,我需要限制记录的总数,以便某个用户获得的结果不能超过前 100 个。
这可能吗?怎么做?
你不能从 Active Record 中获取,除非你设置了一个类似的条件(例如:id)。但是,您可以通过查看 page 和 per_page 参数来控制查询。
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'