Как сказал капитан Токио, это ужасная идея, но вот как вы это сделаете:
rails g model User full_name:hash
Тогда вы бы хранили в нем данные так:
user = User.new
user.full_name = {:first => "Forrest", :last => "Gump"}
Теперь твои проблемы начинаются.
Для поиска в поле требуются оба имени, и вы не можете выполнять частичный поиск, например, поиск всех людей с одинаковой фамилией. Хуже всего то, что вы можете хранить что угодно в поле! Итак, представьте, что другой программист набирает опечатки одним из имен полей, чтобы на неделю вы вставили в базу данных {: fist => "Name",: last => "Last"}! Noooooooooooooooooo!
Если вы использовали правильные имена полей, вы могли бы сделать это:
user = User.new(:first_name => "First", :last_name => "Last")
Легко читается и не требует хэшей. Теперь, когда вы знаете, как сделать это неправильно, сделайте это правильно. :)