我正在尝试使用ruby REST API从Redmine实例中收集对象的所有条目我正在尝试的代码:
require 'rubygems'
require 'active_resource'
class Issue < ActiveResource::Base
self.site = '<site url>'
self.user = '<username>'
self.password = '<password>'
self.format = :xml
end
test = Issue.all
puts test.size
test = Issue.all(:limit => 0)
puts test.size
结果是:
25
25
数据库中有数千个条目,因此将大小设置为25显然是不合适的我还尝试了“:limit=>10”,得到了一个size==25,所以看起来“:limit”参数被完全忽略了。
我还尝试了Issue.find(:all,:limit=>0)和:limit=>10,它们都返回size==25无限制地查询活动资源的正确方法是什么?
最佳答案
似乎activeresource不支持“limit”选项。如果您查看documentation,您将看到可用的选项是“from”和“params”。
我猜返回的资源数量是由服务服务器决定的你试过这样的东西吗?
Issue.all(params: { limit: 25})
如果我正确地阅读了redmine api documentation的话,这应该是可行的。
不幸的是,如文档中所述,100是极限PARAM的最大允许值。
限制:响应中存在的项数(默认值为25,最大值为100)。
您必须发出多个请求,并使用offset和limit params来获取所有记录。
关于ruby-on-rails - 如何无限制地查询ActiveResource?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28770847/