В вашем коде происходит несколько проблем, одна из которых заключается в том, что кажется, что вы вручную кодируете свою форму.Я бы порекомендовал вам сделать шаг назад и почитать о Ресурсно-ориентированная архитектура .ROA является важной концепцией для понимания Rails и того, как он работает с формами.
Как только вы получите концепцию ресурса, вы готовы играть с генератором скаффолдов:
rails generate scaffold some_resource resource_attribute1 resource_attribute2
Итакнапример:
rails generate scaffold home address zipcode
Это создаст в вашем файле config / rout.rb запись, контроллер, некоторые представления, модель и миграцию базы данных, которые будут созданы для вашей базы данных.ПРОЧИТАЙТЕ ВСЕ ЭТИ ФАЙЛЫ.Они являются хорошими примерами лучших (или, по крайней мере, хороших) практик для приложений Rails.Запустите
rake routes
и прочитайте о маршрутизации в Rails, чтобы понять, что означает вывод.
В файлах, созданных скаффолдами, вы заметите, что они используют вспомогательный метод form_for.Вы должны использовать это, но переключение на него без понимания других вещей вам не очень поможет.
Также ознакомьтесь с руководствами: http://guides.rubyonrails.org/ И http://railscasts.com/ и http://peepcode.com/
Надеюсь, это поможет!