Forum: Ruby on Rails Persistance of good data on validation fail

Posted by Dave Castellano (dcastellano1)
on 2013-03-02 18:23
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...
Posted by Jodi S. (jodi_s)
on 2013-03-02 18:41
(Received via mailing list)
render the view - @question will be given to the view for rendering the
previous values

render :new if @question.errors.any?
Posted by Jodi S. (jodi_s)
on 2013-03-02 18:43
(Received via mailing list)
further this url will help with any other questions

http://guides.rubyonrails.org/layouts_and_rendering.html
Posted by Dave Castellano (dcastellano1)
on 2013-03-02 18:44
Jodi S. wrote in post #1099859:
> further this url will help with any other questions
>
> http://guides.rubyonrails.org/layouts_and_rendering.html

Thank you.
Posted by Dave Castellano (dcastellano1)
on 2013-03-02 18:56
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??
Posted by Dave Castellano (dcastellano1)
on 2013-03-02 19:18
Never mind... got it!

@question_type == "standard"
Posted by Jodi S. (jodi_s)
on 2013-03-02 19:22
(Received via mailing list)
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?
Posted by Colin Law (Guest)
on 2013-03-02 21:52
(Received via mailing list)
On 2 March 2013 17:23, Dave Castellano <lists@ruby-forum.com> wrote:
> 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?

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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.