# Model Each Do Looping Problem

**URL:** <https://www.ruby-forum.com/t/model-each-do-looping-problem/110978>\
**Category:** Rails\
**Created:** [August 1, 2007, 5:35pm UTC](https://www.ruby-forum.com/t/model-each-do-looping-problem/110978 "2007-08-01T17:35:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bradigan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/87869e/32.png) [@bradigan](https://www.ruby-forum.com/u/bradigan)\
**Post date:** [August 1, 2007, 5:35pm UTC](https://www.ruby-forum.com/t/model-each-do-looping-problem/110978/1 "2007-08-01T17:35:45Z")

</div>

I have this strange loop going on.  
Here’s my Data for instance in a Table called GROUPS  
account\_id = 1  
group\_name = Acme  
account\_id = 1  
group\_name = Disney  
account\_id = 1  
group\_name = Pixar

/group/list.rhtml  
\<%= render :partial =\> “grouplist”, :collection =\> @groups %\>

/group/\_grouplist.rhtml  
\<% @groups.each do |group| %\>

- \<%= group.group\_name %\>
\<% end %\>

…/group\_controller.rb  
def list  
@groups = Group.find\_all\_by\_account\_id(session[:user\_id]);  
…

Now, my view renders it like so:

- Acme
- Disney
- Pixar
- Acme
- Disney
- Pixar
- Acme
- Disney
- Pixar

I just want it to display only once

- Acme
- Disney
- Pixar

I’m sure its so simple, but I am banging my head to find out!!!

---

<div class="post-metadata">

**Author:** ![bradigan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/87869e/32.png) [@bradigan](https://www.ruby-forum.com/u/bradigan)\
**Post date:** [August 1, 2007, 9:30pm UTC](https://www.ruby-forum.com/t/model-each-do-looping-problem/110978/2 "2007-08-01T21:30:17Z")

</div>

On Aug 1, 2007, at 8:32 AM, bradigan wrote:

> /group/list.rhtml  
> \<%= render :partial =\> “grouplist”, :collection =\> @groups %\>

Using “:collection” makes this line automatically do the looping for  
you.

> /group/\_grouplist.rhtml  
> \<% @groups.each do |group| %\>
> 
> - \<%= group.group\_name %\>
> \<% end %\>

So you don’t need the loop in the partial. Take out the loop and I  
bet that’ll fix your issue. I’ve made this mistake accidentally  
before too 🙂
