# To get multiple check\_box values in controller

**URL:** <https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798>\
**Category:** Rails\
**Created:** [September 17, 2008, 7:44am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798 "2008-09-17T07:44:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [September 17, 2008, 7:44am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798/1 "2008-09-17T07:44:11Z")

</div>

Hi  
I have

\<% for language in @languages %\>  
\<%= language.language %\> \<%=  
check\_box(“user”,“language\_id”,{},checked\_value = “1”, unchecked\_value =  
“0”) %\>  
\<% end %\>

```
 What I am trying to do is if a user check more than one language

```

say English and Spanish I shud get bothe these values to controller  
and there I can craete the user and save the languages there.Please tell  
me how can I do this I tried like above but always getting  
params[:user][:language\_id] as 0

TABLES  
Languages table contains id, language  
Users table contains id, name, language\_id  
MODEL  
Relation ships mentioned  
class Language \< ActiveRecord::Base  
has\_many :users  
end

class User \< ActiveRecord::Base  
belongs\_to :language  
end

Thanks in advance  
Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [September 17, 2008, 11:41am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798/2 "2008-09-17T11:41:58Z")

</div>

Hi  
Thanks for the reply I tried like  
\<% for language in @languages %\>  
\<%= language.language %\> \<%=  
check\_box\_tag(“user[#{language.id}][]”,"#{language.id}") %\>  
\<% end %\>  
And the source obtained is  
English   
Spanish   
Persian   
Is this correct?Then how can I access this in controller and to know  
which one is clicked and which one not?

Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [September 17, 2008, 9:02am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798/3 "2008-09-17T09:02:48Z")

</div>

On Sep 17, 6:44 am, Sijo Kg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi  
> I have
> 
> \<% for language in @languages %\>  
> \<%= language.language %\> \<%=  
> check\_box(“user”,“language\_id”,{},checked\_value = “1”, unchecked\_value =  
> “0”) %\>  
> \<% end %\>

You’ve got to use check\_box\_tag and not check\_box, set the parameter  
name to user[language\_id][] and give each checkbox a different value  
(ie the id of the corresponding language.

Fred

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [March 6, 2009, 10:13am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798/4 "2009-03-06T10:13:40Z")

</div>

Is there a way to have this working while being able to use labels, and  
being valid HTML? Ie, unique IDs for the inputs?

> no - you want the output to be
> 
> and then params[:user][:language\_id] will be an array
> 
> Fred

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [September 17, 2008, 11:52am UTC](https://www.ruby-forum.com/t/to-get-multiple-check-box-values-in-controller/148798/5 "2008-09-17T11:52:19Z")

</div>

On 17 Sep 2008, at 10:41, Sijo Kg wrote:

> /\>  
> Spanish   
> Persian

> Is this correct?Then how can I access this in controller and to  
> know  
> which one is clicked and which one not?

no - you want the output to be

and then params[:user][:language\_id] will be an array

Fred
