On 26 Oct 2008, at 12:33, Cory Wilkerson wrote:

>
> Folks,
>
> Curious what the current state of the union is with regard to  
> 'failure'
> idioms for an AJAX call in 2.0 land.
>
> For example, let's say I have a simple form_remote_for that posts to
> session_controller.rb that validates user credentials and, upon
> successful validation, redirects that use to some landing page. That's
> the happy path - now wondering what to do if the validation fails:
>
> * Return some sort of internal xml that indicates things have failed
> using respond_to? and parse the XML/update the page accordingly?
>
Well in a case like this i don't think you need anything smart. In the  
successful case you page.redirect_to somewhere, in the failure case  
you page.replace_html or page.insert to add an appropriate error  
message somewhere.

In the case where the client side code has more smarts things are a  
little different.
Personally I use the X-JSON header quite a lot to convey meta data to  
the client and use RJS very little, ie the body of the response is  
nearly always a chunk of HTML or JSON, the json contain in the X-JSON  
header lets the client side code know what to do with it.

> * Set the http response code to something in the 4XX range - invoke a
> failure callback?
>
That can also be appropriate, although I would save that for actual  
errors (eg I couldn't talk to some server) rather than for something  
like a failed validation. You can use Ajax reponders if you just want  
a generic something bad action (eg show a  message to the user).

Fred


> * Something else I'm not thinking of entirely?
>
> Haven't been near this in a while and was wondering what the current
> practice du jour is...
>
> Thanks for any help/insight,
> CW
> -- 
> Posted via http://www.ruby-forum.com/.
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to