# How do you access params that are both model based and non model based?

**URL:** <https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259>\
**Category:** Rails\
**Created:** [August 5, 2009, 9:31pm UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259 "2009-08-05T21:31:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 5, 2009, 9:31pm UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/1 "2009-08-05T21:31:08Z")

</div>

Hi all

Apologies first of all if this it the third time of seeing this, I  
posted  
previously but didn’t see it on the googlegroup archive or current  
discussions.

Ive got a form that’s based on a model that I need to put a drop down  
box and additional text field to build the description for the item.

heres some quick code

View

\<%= form\_for (@shape) do |f| %\>  
\<%= f.text\_field :description %\>  
\<%= select\_tag “shape\_name”, “roundsquare\</  
option\>triangular” %\>  
\<%= text\_field\_tag “shape\_code” =\>

Controller

@shape.new  
@shape.description = params[:description]  
@shape.shape = “#{params[:shape\_name]} #{params[:shape\_code]}”  
@shape.save

What happens is I get the shape.shape set right (to the name from the  
select box and the code from the text field) but description is always  
empty,

Heres whats in the params when I do a raise shape.to\_yaml to debug it.

{“shape\_name”=\>“triangular”,  
“shape\_code”=\>“shape code is here”,  
“order”=\>{“description”=\>“this is a description”}}

Can someone point out how I should be accessing the params so I can  
set the description of the shape?

Many thanks

Jonathan G.

---

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 5, 2009, 9:54pm UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/2 "2009-08-05T21:54:25Z")

</div>

Jonathan G. wrote:

> {“shape\_name”=\>“triangular”,  
> “shape\_code”=\>“shape code is here”,  
> “order”=\>{“description”=\>“this is a description”}}
> 
> Can someone point out how I should be accessing the params so I can  
> set the description of the shape?
> 
> Many thanks
> 
> Jonathan G.

@shape.description = params[:order][:description]

---

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 5, 2009, 10:45pm UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/3 "2009-08-05T22:45:28Z")

</div>

Many thanks for that! Just what I needed to know. I thought I tried  
that,  
but I guess I didnt.

Along the same lines how about when Ive got a select\_date on the form?  
The  
data comes back in the params as  
{stuff =\> “something”,  
order=\> {“thedate(3i)” =\>“2009”,  
“thedate(2i)” =\> “10”,  
“thedate(1i)” =\> “1”}}

Ive tried

param[:order]:thedate  
and  
params[:order][:thedate(3i)]

and a load of other ways that are definately wrong! Ive also looked  
through  
the ruby book and the agile ruby on rails book, but not sure what to  
look  
for so cant help myself here.

Can someone point me in the right direction?

Many thanks

Jonathan G.

On Wed, Aug 5, 2009 at 8:54 PM, Ilan B.  
\<removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 5, 2009, 11:38pm UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/4 "2009-08-05T23:38:09Z")

</div>

To post a followup. So the archive is here.

Seems the problem is when not doing mass assignment active record does  
the  
date object creation.

This blog post  
[http://blog.springenwerk.com/2008/05/set-date-attribute-from-dateselect.htmlexplains](http://blog.springenwerk.com/2008/05/set-date-attribute-from-dateselect.htmlexplains)  
is much better than I can but lets say it solves it.

So updating a date or datetime field in a model from params yourself is  
not  
easy but can be done with the above link

(thats for the search next time!)

Thanks to all that helped on this.

Jonathan G.

---

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 6, 2009, 12:01am UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/5 "2009-08-06T00:01:34Z")

</div>

Hi all,  
I have two fields in a form.  
One text field non asociated to the model for the user type a value. the  
view is:  
\<%= text\_field\_tag ‘item\_cod’,’’, :size =\> 3 %\>

Other a field with a select list with codes, names for the user select  
from. The view is:

\<%= f.select :item\_id, Item.select\_list, :size =\> 40 %\>

item\_id is the real field of my model.

I want the following behavior.

1. If the user type a code into the text\_field tag -\> Update the list so  
the user view the corresponding name of the item they type.
2. If the user select from the list -\> Update the text field with the  
code corresponding to the name selected. (this is the easy part)

My form works fine with one Observe field for the :item\_id list but I  
can’t do work the point 1.

Thanks in advance,  
FF

I want the

---

<div class="post-metadata">

**Author:** ![jgeggatt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jgeggatt](https://www.ruby-forum.com/u/jgeggatt)\
**Post date:** [August 6, 2009, 3:34am UTC](https://www.ruby-forum.com/t/how-do-you-access-params-that-are-both-model-based-and-non-model-based/173259/6 "2009-08-06T03:34:36Z")

</div>

Please don’t hijack threads. It will hide your problem, and will not  
endear you to folks on most mailing lists, including this one.

Best regards,  
Bill
