# Accessing a Hash from the form Params

**URL:** <https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330>\
**Category:** Rails\
**Created:** [September 11, 2007, 1:19pm UTC](https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330 "2007-09-11T13:19:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mschwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mschwab](https://www.ruby-forum.com/u/mschwab)\
**Post date:** [September 11, 2007, 1:19pm UTC](https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330/1 "2007-09-11T13:19:22Z")

</div>

I have a form that is passing back the following parameters to my  
controller

Parameters: {“umpire”=\>{“1”=\>“Smith”, “2”=\>“Jones”, “3”=\>""}

In my Controller I would then like to loop through these new values  
updating my data like in this sample fragment

for num in(1…3)  
@tmpFixture.update\_attribute(:player\_id , params[“umpire”[num.to\_s]  
])  
end

However I cant seem to get the syntax right for the update\_attribute.  
It keeps updating to Null.

I guess I am passing the params from the form in an incorrect format.  
Any Suggestions?

---

<div class="post-metadata">

**Author:** ![mschwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mschwab](https://www.ruby-forum.com/u/mschwab)\
**Post date:** [September 11, 2007, 5:13pm UTC](https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330/2 "2007-09-11T17:13:04Z")

</div>

i think that should be:

for num in(1…3)  
@tmpFixture.update\_attribute(:player\_id , params[:umpire][num.to\_s])  
end

On Sep 11, 7:19 am, Mike S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![mschwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mschwab](https://www.ruby-forum.com/u/mschwab)\
**Post date:** [September 11, 2007, 6:19pm UTC](https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330/3 "2007-09-11T18:19:15Z")

</div>

use assoc for the attribute you’re updating

for num in(1…3)  
@tmpFixture.update\_attribute(:player\_id =\> params[:umpire][num.to\_s])  
end

---

<div class="post-metadata">

**Author:** ![mschwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mschwab](https://www.ruby-forum.com/u/mschwab)\
**Post date:** [September 11, 2007, 7:21pm UTC](https://www.ruby-forum.com/t/accessing-a-hash-from-the-form-params/114330/4 "2007-09-11T19:21:57Z")

</div>

Thanks Guys:

As you both said the correct way to get at the working code is:  
params[:umpire][num.to\_s]

the working fragment is

@tmpResult.update\_attribute(:player\_id , params[:umpire][num.to\_s])

Thanks again!

Mike
