【发布时间】:2017-06-23 16:30:12
【问题描述】:
我对 ruby/rails 很陌生,所以请耐心等待。
我正在尝试获取 JIRA rest API 返回的结果并将它们呈现在视图中。我可以使用jira-ruby gem 轻松做到这一点。我遇到的问题是按 API 返回的对象内的特定对象对结果进行分组(在本例中,是“问题”对象内的“组件”字段对象)。我试图为此使用 group_by 和 chunk 但我基本上得到了我想要的相反。两种方法都返回相同的结果。
在我的控制器中,我有:
@issues = @jira_client.Issue.all
在我看来,我有:
<% @issues.chunk {|issue_comp| issue_comp.fields["components"]}.each do |comps, issues| %>
<h2>
<% comps.each do |comp| %>
<%= comp["name"] %>
<% end %>
</h2>
<ul>
<% issues.each do |issue| %>
<li><p><%= link_to issue.key, "http://localhost:2990/jira/browse/#{issue.key}" %> - <%= issue.summary %></p></li>
<% end %>
</ul>
<% end %>
我最终得到的是:
CompA CompB
- 问题A
CompC CompD
- 问题B
CompA CompC CompD
- 问题C
等等
我想要的是:
CompA
- 问题A
- 问题C
补偿
- 问题A
补偿
- 问题B
- 问题C
补偿
- 问题B
- 问题C
API 返回的对象是一个非常复杂的对象(即散列内部数组中的巨大散列数组)。所以,我必须深入挖掘才能获得组件名称。
我觉得这不应该像看起来那么复杂,但我有一个可怕的习惯,就是让事情变得比实际需要的更复杂。我在这里做错了什么?
编辑:我创建了上面调用返回的完整转储的要点。注意“组件”数组:
【问题讨论】:
-
我们需要样本输入和所需的输出。
-
@Anthony 我添加了示例输入。除非我遗漏了什么,否则所需的输出已经存在?基本上,我想在我的视图中按组件名称对组件的所有常见问题进行分组。
-
我在 JSON 查看器中查看了您的示例数据,但不足以证明您遇到的问题。您能否包含会产生您想要的结果的数据,以便我们可以看到它的原始形式?当然,请务必混淆您的私人数据。
-
@DanLaffan 对不起,你是对的。我创建了完整转储的要点。我清理了它以获取私人数据,但实际上没有,因为它们都在开发环境中。
标签: ruby-on-rails ruby grouping jira-rest-api