Hey fellas,

Is there a way to selectively respond with a format depending on whether 
there were errors creating an object or not? 

My goal is to *have a remote form fall back to the html version of the 
'new' action if there were errors*. In other words, run the create.js.erb 
if the save succeeds, otherwise render the html 'new' action. 

Say I have the following create method: 

  def create
    @message = Message.new(params[:message])

    respond_to do |format| 
      if @message.save
      format.html {
        redirect_to messages_path, notice: 'Your message was successfully 
sent.' 
      }
      format.js
      else
       render action: "new" # This does not work when I have a remote form. 
      end
    end
  end

This will work fine (On both remote html and js formats ) if the @message 
saves, but when I try and do this using Ajax and they were errors, the 
render call responds with html that gets ignored by the browser (who is 
expecting js). How can force the browser to render the HTML version of 
'new' even if the original action was JS? 


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/d2a2b8cf-bea6-4cfd-b08f-239ebf4c1a0e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to