# Acts\_as\_tree -- getting children IDs?

**URL:** <https://www.ruby-forum.com/t/acts-as-tree-getting-children-ids/136638>\
**Category:** Rails\
**Created:** [May 5, 2008, 12:58am UTC](https://www.ruby-forum.com/t/acts-as-tree-getting-children-ids/136638 "2008-05-05T00:58:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![stedwick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/90ced4/32.png) [@stedwick](https://www.ruby-forum.com/u/stedwick)\
**Post date:** [May 5, 2008, 12:58am UTC](https://www.ruby-forum.com/t/acts-as-tree-getting-children-ids/136638/1 "2008-05-05T00:58:23Z")

</div>

I’m having trouble getting all the IDs of the children of my  
acts\_as\_tree group.

child.id seems to return the entire object.

> > for child in g.children  
> > child.id  
> > end  
> > =\> [#\<Group id: 2, name: “Campaign Admin”, parent\_id: 1, affiliate\_id:  
> > nil, created\_at: “2008-05-04 22:21:16”, updated\_at: “2008-05-04  
> > 22:21:16”, permission: “campaigns”\>, #\<Group id: 4, name: “Ideas  
> > Admin”, parent\_id: 1, affiliate\_id: nil, created\_at: “2008-05-04  
> > 22:22:05”, updated\_at: “2008-05-04 22:22:05”, permission: “ideas”\>,  
> > #\<Group id: 3, name: “User Admin”, parent\_id: 1, affiliate\_id: nil,  
> > created\_at: “2008-05-04 22:21:39”, updated\_at: “2008-05-04 22:21:39”,  
> > permission: “users”\>]

Any ideas? Thanks!

---

<div class="post-metadata">

**Author:** ![stedwick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/90ced4/32.png) [@stedwick](https://www.ruby-forum.com/u/stedwick)\
**Post date:** [May 5, 2008, 11:10am UTC](https://www.ruby-forum.com/t/acts-as-tree-getting-children-ids/136638/2 "2008-05-05T11:10:28Z")

</div>

On 4 May 2008, at 23:58, Stedwick wrote:

> nil, created\_at: “2008-05-04 22:21:16”, updated\_at: “2008-05-04  
> 22:21:16”, permission: “campaigns”\>, #\<Group id: 4, name: “Ideas  
> Admin”, parent\_id: 1, affiliate\_id: nil, created\_at: “2008-05-04  
> 22:22:05”, updated\_at: “2008-05-04 22:22:05”, permission: “ideas”\>,  
> #\<Group id: 3, name: “User Admin”, parent\_id: 1, affiliate\_id: nil,  
> created\_at: “2008-05-04 22:21:39”, updated\_at: “2008-05-04 22:21:39”,  
> permission: “users”\>]

A for loop evaluates to the colection it iterates over. You probably  
want something like g.children.collect {|child| child.id} (sometimes  
people write g.children.collect &:id instead)

Fred
