Persistance of good data on validation fail

Thank you everyone for the previous validation help. I have one last question... Can anyone tell me if there is a standard way to deal with a failed validation and loss of the data that was partially completed on the form. I currently use a redirect back to the same action and lose all the data (obviously). Do I send valid data back and forth in the params hash?

if @question.errors.any? redirect_to(:controller => "questions", :action => "new", :minisection_id => session[:minisection_id], :question_type => "standard")

There has to be a standard way to do this I assume...

render the view - @question will be given to the view for rendering the previous values

render :new if @question.errors.any?

further this url will help with any other questions

http://guides.rubyonrails.org/layouts_and_rendering.html

Jodi S. wrote in post #1099859:

further this url will help with any other questions

Layouts and Rendering in Rails — Ruby on Rails Guides

Thank you.

When I "render :new", the view gets called correctly but there is a partial in the new.html.erb view which does not render.

<%= form_for @question, :as=> :question, :url => { :action => "create"} do |f| %>   <% if @question_type == "standard" %>       <%= render 'new_and_edit_fields', f: f %>

Can I not render a render??

Never mind... got it!

@question_type == "standard"

Dave, consider this refactor

create an instance method in your question model

def standard?

question_type == “standard”

end

then your view/controller syntax get a bit more readable

@question.standard?

My standard response for beginners who have not yet got the basics of rails is to work right through a good tutorial such as railstutorial.org, which is free to use online. That should cover your question and many others that you have yet to ask.

Colin

the view gets called correctly but there is a partial http://www.hqew.net