У меня есть форма rails3, которая позволяет пользователю редактировать список ответов в рамках оценки. 
Я использую цикл fields_for для генерации каждого ввода текста:
app/models/evaluation.rb:
class Assessment < ActiveRecord::Base
  serialize :answers, Hash   # answers is a t.text field used to store all answers.
end
app/view/evaluationments/new.html.erb:
<p>Initialized answers: <%= @assessment.answers %></p>
<% item_counter = 0 %>
<% form.fields_for :answers do |answer_fields| %>
    <% item_id = "item" + item_counter.to_s %>
    <% item_counter = item_counter + 1 %>
    <div class="field">
      <%= answer_fields.label "the appropriate question, omitted for brevity" %>
      <br/>
      <% @assessment.answers[item_id] = "" %>
      <%= answer_fields.text_field item_id, :value => @assessment.answers[item_id] %>
    </div>
<% end %>
  ПРОБЛЕМА: Цикл fields_for выполняет нулевую итерацию, поле не печатается. 
(несмотря на "Инициализированные ответы:", показывающие правильно: { "a" = > 143, "b" = > 42})
