Forum: Ruby on Rails Hash names with white spaces

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Stefano B. (Guest)
on 2009-01-31 09:57
Hi all,

I've got a simple problem and I am wondering if it can be solved.
In my code I use Hash params name including white spaces (coming from
legacy database). They works well in my View, but I am not able to
properly use them later in my controller.
For instance, in my view I have:

<input id="person name" name="person[first name]" size="30" type="text"

It works, and checking params confirms that person[first name] it's also
posted, but I don't know how to use it in controller. If I try:

print params[:person][:first name]

I always receive errors regarding [:first name] ; so seems that Hash
names including white spaces are not accepted....

Any suggestion will be appreciated.

Thanks in advance

Thomas r. K. (Guest)
on 2009-01-31 10:47
(Received via mailing list)
Hi Stefano,

First of all, migrate your database. Legacy dbs suck and there's no
why to preserve them for too long.

About your problem:
Both params['first name'] and params[:'first name'] will work.

ciao, tom

Thomas R. "TomK32" Koll <>
just a geek trying to change the world
Stefano B. (Guest)
on 2009-01-31 13:42
Hi Tom,

first of all many thanks for your suggestion.

I cannot migrate from the legacy database because it is still populated
by an electronic PLC wich has only MS ACCESS (aargh!) or MS SQL
The same for DB field names.
They where defined five years ago and so I must live with them.

Anyway, I will try your hint about quotes usage asap and then post the
result here.

Ciao & have a nice day

Stefano B. (Guest)
on 2009-01-31 14:12
Ok Tom,

like you suggested, both params['first name'] and params[:'first name']
worked for me.

Case solved.

Thanks again

This topic is locked and can not be replied to.