# Select\_tag inside loop

**URL:** <https://www.ruby-forum.com/t/select-tag-inside-loop/135647>\
**Category:** Rails\
**Created:** [April 23, 2008, 9:41pm UTC](https://www.ruby-forum.com/t/select-tag-inside-loop/135647 "2008-04-23T21:41:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![maia](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f6c823/32.png) [@maia](https://www.ruby-forum.com/u/maia)\
**Post date:** [April 23, 2008, 9:41pm UTC](https://www.ruby-forum.com/t/select-tag-inside-loop/135647/1 "2008-04-23T21:41:50Z")

</div>

I have a user who has a list of friends on displayed on his webpage.  
He can add each friend to a group like, Family or Friends.  
To implement this , I have the select\_tag /form\_tag block inside a  
loop in my view as shown:

\<% @user.friend.each do |friend| %\>  
\<%= form\_tag({:controller =\> ‘friendship’, :action =\>  
‘addgroup’, :id =\> friend.screen\_name} ) %\>  
\<%= select\_tag( “groupname”, options\_for\_select(%w{ Family  
Friends })) %\>  
\<%= submit\_tag “Add #{friend.name}” %\>  
\<% end %\>  
\<% end %\>

On submit the controller friendship/addgroup is invoked with  
parameter :id =\> friend.screen\_name. I also access params[:groupname]  
in addgroup.  
My problem is that even though this is in a loop, when I click on “Add  
friend” and submit the form the :id =\> screen\_name is always the  
first friend for the user in the database.  
What am I doing wrong ?  
Thanks

---

<div class="post-metadata">

**Author:** ![maia](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f6c823/32.png) [@maia](https://www.ruby-forum.com/u/maia)\
**Post date:** [April 23, 2008, 11:01pm UTC](https://www.ruby-forum.com/t/select-tag-inside-loop/135647/2 "2008-04-23T23:01:27Z")

</div>

Doesn’t submitting a form, submit all the params on the page,  
regardless of which form they’re in? I’m probably wrong on that  
though.

---

<div class="post-metadata">

**Author:** ![maia](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f6c823/32.png) [@maia](https://www.ruby-forum.com/u/maia)\
**Post date:** [April 24, 2008, 12:16am UTC](https://www.ruby-forum.com/t/select-tag-inside-loop/135647/3 "2008-04-24T00:16:00Z")

</div>

Try distinguishing the forms by giving them differing names. Eg

\<%= form\_tag({:controller =\> ‘friendship’, :action =\>  
‘addgroup’, :id =\> friend.screen\_name}, :name =\>  
“addgroup\_form\_#{friend.id}” ) %\>

Jan
