You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby中如何遍历哈希数组并按标题分组展示描述?

Ruby哈希数组按标题分组展示的最优实现方式

完全不需要用case...when语句,Ruby自带的group_by方法就是最适合这个场景的方案,代码简洁且符合Ruby风格。

步骤1:在控制器中对数据分组

先把原数组按title字段分组,得到一个以标题为键、对应描述数组为值的哈希:

@grouped_examples = @example.group_by { |item| item[:title] }

步骤2:在视图中渲染分组后的数据

遍历分组后的哈希,每个标题只输出一次,下方列出对应的所有描述:

<% @grouped_examples.each do |title, items| %>
  <!-- 把chapter1格式化为Chapter 1 -->
  <h1><%= title.capitalize.gsub(/(\d)/, ' \1') %></h1>
  <% items.each do |item| %>
    <p><%= item[:description] %></p>
  <% end %>
<% end %>

补充说明

  • group_by是Ruby Enumerable模块的原生方法,专门用于按指定规则对集合分组,比手动用case...when判断要高效得多,代码可读性也更强。
  • 推荐在控制器中完成数据分组逻辑,视图只负责渲染内容,符合Rails的MVC设计原则。

内容的提问来源于stack exchange,提问作者userden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:17:35