Friday, 15 March 2013

ruby on rails - Reload multiple nested fields value on @object.save failure -



ruby on rails - Reload multiple nested fields value on @object.save failure -

i have "google forms"-like platform user can create form many questions , select reply type either text fields or multiple choice, so, made form answers this:

# forms partial <% f.object.form.questions.each |q| %> <% if q.text? %> <%= render 'text', :f => f, :q => q %> <% else %> <%= f.simple_fields_for :multiple_choice |m|%> <%= f.label q.questions %> <%= render 'forms/multiple_choice', :f => m, :q => q %> <% end %> <% end %> <% end %> # _text.html.erb <%= f.fields_for :answers, q.answers.build |m| %> <%= m.input :answer, label: m.object.question %> <%= m.input :question_id, as: :hidden %> <% end %>

this works fine answering, however, when user fails fill other required fields, form re-rendered , answers not reloaded because fields_for tag builds new reply objects again, best approach building these objects having them reload on form save failure?

the best approach build objects @ 'new' action of controller, not @ view. 'create' action build other new object params , render 'new' safety because no overwrites object, render.

take @ this see how send fields_for :permission, @person.permission ...

ruby-on-rails

No comments:

Post a Comment