I have a controller which is passed params[:transfer] from a form. I
want to add some key vale pairs so the .create(params[:transfer] used
later has the other data base columns not populated in the form.
Foo.create( {:foo => 'bar', :one => 2}.merge(params[:transfer]) )
This way you can set *all* the defaults and anything specified in params[:transfer] will over write them...
-philip
Reg Phipps wrote:
Philip Hallstrom wrote:
I have a controller which is passed params[:transfer] from a form. I
want to add some key vale pairs so the .create(params[:transfer] used
later has the other data base columns not populated in the form.
Foo.create( {:foo => 'bar', :one => 2}.merge(params[:transfer]) )
This way you can set *all* the defaults and anything specified in
params[:transfer] will over write them...
-philip
Thanks, I'll try it out and let you know.
Another option may be to set the other fields (which have fixed values)
through the view by using MagicFieldNames
http://wiki.rubyonrails.org/rails/pages/MagicFieldNames
Does that make sense ?
reg
philip, sorry I don't quite understand. Is Foo the hash? with two key
value pairs where
key is :foo and value is 'bar'
key is :one and valie is '2'
and this is then merged with params[:transfer]
Don't I need to declare Foo ?
I used Foo to represent whatever your model is.