`

ruby递归查找某对象的父/子节点集合

    博客分类:
  • RUBY
 
阅读更多
def parent_ids
    ids = []
    parent_id = self.parent_id
    while parent_role = Role.find_by_id(parent_id)
      if parent_role
        ids << parent_role.id
        parent_id = parent_role.parent_id
      else
        break
      end
    end
    ids
  end

  def children_ids
    ids = []
    parent_id = self.id
    while child_role = Role.find_by_parent_id(parent_id)
      if child_role
        ids << child_role.id
        parent_id = child_role.id
      else
        break
      end
    end
    ids
  end
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics