【问题标题】:Get more than 100 issues from redmine从 redmine 获取 100 多个问题
【发布时间】:2014-11-06 09:36:50
【问题描述】:

我正在尝试从 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 => 100

【问题讨论】:

    标签: ruby-on-rails ruby redmine


    【解决方案1】:

    having 是一个 SQL 运算符。在这里,您使用的不是ActiveRecord,而是执行HTTP 请求的ActiveResource。为安全起见,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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多