从redmine获得100多个问题

时间:2014-11-06 09:36:51

标签: ruby-on-rails ruby redmine

我正试图从Redmine那里得到问题,但是有100个问题的限制。我试图在模型中编写一个方法以获得所有问题。这是全班:

class IssueResource < ActiveResource::Base
  self.site = 'http://127.0.0.1:5000'
  self.element_name = "issue"
  self.format = ActiveResource::Formats::XmlFormat

  def self.search params
    segment=IssueResource.find(:all,:params=>params)
    issues=segment
    while segment!= []
      segment=IssueResource.find(:all,:params=>params,:having => "id < "+segment.last.id.to_s)
      issues = issues+segment

    end
    return issues

  end
end

正如您所看到的,我正在尝试having并发送多个请求,但它不起作用。

PS:在参数中总是有:limit =&gt; 100

1 个答案:

答案 0 :(得分:3)

having是一个SQL运算符。这里您没有使用ActiveRecord,而是ActiveResource执行HTTP请求。为了安全起见,REST API永远不会允许您(或绝不允许您)提供在数据库上任意执行的SQL片段。

如果您阅读API documentation for Redmine,则会注意到没有having参数。很可能你发明了它。

要获取所有问题,您需要做的是使用分页offsetlimit

Paging example:
GET /issues.xml?offset=0&limit=100
GET /issues.xml?offset=100&limit=100