【发布时间】:2021-08-03 09:18:02
【问题描述】:
需要帮助来缩短此代码。逻辑是直到每个位置都有一个 parent_id 将 id 推送到 _location_ids
这是我的代码
location_ids = location_id.map{|a| a.location_id}.uniq.sort #if location_id
second_level_parent_ids = []
location_ids.each do |loc|
_location = Location.select(:parent_id).find(loc)
if !_location.parent_id.nil?
second_level_parent_ids.push(_location.parent_id)
end
end
second_level_parent_ids = second_level_parent_ids.uniq.sort
third_level_parent_ids = []
second_level_parent_ids.each do |second_id|
_location = Location.select(:parent_id).find(second_id)
if !_location.parent_id.nil?
third_level_parent_ids.push(_location.parent_id)
end
end
_location_ids = location_ids + second_level_parent_ids + third_level_parent_ids
示例表字段:fields
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-5