如何在 ruby 中生成父子嵌套数据结构?
def get_data_tree
@zones = Zone.select(:parent_id, :id, :name).all
@result = []
@zones.each do |zone|
ap zone[:name]
ap "*" * 10
zone = zone.as_json.with_indifferent_access
zone[:label] = zone[:name] unless zone.include? :label
@result << zone if zone[:parent_id].nil?
@zones.each do |item|
item = item.as_json.with_indifferent_access
next if item[:id] == zone[:id]
if item[:parent_id] == zone[:id]
item[:label] = item[:name] unless item.include? :label
zone[:children] = [] unless zone.include? :children
ap item[:name]
ap "-" * 10
zone[:children] << item
ap zone
end
end
end
@result
end
生成数据以提供元素ui https://element.eleme.cn/#/zh-CN/component/cascader
当我使用具有相同逻辑的perl代码可以生成数据结构时,请提供一些建议,非常感谢