如何在zendesk_api Ruby gem中实现分页功能?
结论
你提到的「搜索工单」「列出指定工单的评论+分页处理」两个需求,都可以直接使用zendesk_api v1.28.0的内置能力实现,无需自行封装调用Zendesk原生API。
具体实现示例
搜索工单
gem内置的search方法原生支持分页参数,你可以指定单页数量、页码,也可以开启自动分页遍历所有结果:
# 搜索状态为未解决的工单,单页返回15条,取第3页结果 search_result = client.search( query: "type:ticket status:open", per_page: 15, page: 3 ) # 自动处理分页遍历所有符合条件的工单 search_result.all? do |ticket| # 自定义业务逻辑 puts "工单ID: #{ticket.id}, 标题: #{ticket.subject}" end
列出指定工单的评论并分页
你可以直接通过工单资源的关联comments接口获取评论,同样支持分页、排序参数:
# 获取ID为1234的工单 target_ticket = client.tickets.find(id: 1234) # 按更新时间倒序获取评论,单页返回20条 ticket_comments = target_ticket.comments( per_page: 20, sort_order: :desc ) # 手动获取下一页评论 next_page_comments = ticket_comments.next
补充说明
- gem已经封装了鉴权、参数格式化、响应解析逻辑,你不需要额外处理原生API的请求拼装
- 如果需要使用Zendesk的游标分页能力,直接传递
page[size]、page[after]参数即可,gem会自动适配参数规则
内容的提问来源于stack exchange,提问作者Sahil Verma
相关产品推荐
相关产品推荐

