gpt4 book ai didi

ruby-on-rails - 按字母顺序排列并按组显示

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:09 25 4
gpt4 key购买 nike

我正在尝试按字母顺序和分块显示我的数据库中的标题列表。

我想输出字母,然后包括所有以该字母开头的标题。例如:

  • 一个
    • 苹果
    • 另一件事
    • 鲍勃

我知道我可以使用 .order('title') 对我的结果进行排序,但我不确定编写显示代码的最佳方式是什么?

最佳答案

titles.group_by {|word| word[0].upcase }

那么,如果:

titles = ['Apple', 'anothersomething', 'Bob']

然后:

grouped_titles = titles.group_by {|word| word[0].upcase }
=> {"A"=>["Apple", "anothersomething"], "B"=>["Bob"]}

为了确定顺序,您可以对生成的哈希进行排序,将其转换为数组:

grouped_titles = grouped_titles.sort_by{|k, v| k}
=> [["A", ["Apple", "anothersomething"]], ["B", ["Bob"]]]

然后您可以迭代结果数组。

<% grouped_titles.each do |initial_letter, titles| %>
-display stuff here-
<% end %>

请注意,这是在 Ruby 中分组,而不是在数据库中分组(这将通过对关系使用 .group 方法来完成),但是如果您已经在页面,这个方法应该没问题。

关于ruby-on-rails - 按字母顺序排列并按组显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com