Я пытаюсь собрать все записи объекта из экземпляра Redmine, используя его рубиновый REST API. Код Пытаюсь:Как я могу запросить ActiveResource без ограничения?
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» и получил размер == 25, поэтому кажется, что аргумент «: limit» полностью игнорируется.
Я также пробовал Issue.find (: all,: limit => 0) и: limit => 10, оба из которых возвращали размер == 25. Какой был бы правильный метод для запроса active_resource без ограничения?
Это шаг в правильном направлении, но он, кажется, закрыт на 100, предел: 0 => размер 25 и предел: 2000 => размер 100. Я надеюсь выиграть гораздо больше, чем 100 за раз. – Centimane
Недавно я обновил свой ответ со ссылкой на документацию redmine api. Вы заметите, что 100 определяется как максимально допустимое значение. Вам нужно будет комбинировать параметры ограничения и смещения и выполнять несколько запросов, чтобы собрать все проблемы. Я верну свой ответ на примере. – Dabrorius
Мне нужно будет посмотреть, могу ли я изменить этот предел, я бы предпочел не иметь сотни запросов, если я могу его избежать, но так оно и есть. – Centimane