On Apr 8, 8:38 am, Ram <[email protected]> wrote:
> Hi Fred,
>
> Thanks for your response.
>
> render :update
> Ive got quite a few Ruby conditions and styling going in the js.erb
> file im using now to display the contact information. And ive got more
> possibilities than the 3 ive shown above in the controller. So this
> might not be the right option for me. Right?

I'm not sure this would be a problem - seems like a few calls to
page.replace_html 'info', :partial => 'blah' would do it in the other
cases.

>
> observe_field callback
> This might work for me. Right now, the only callbacks I have on the
> observe_field are showing and hiding the spinner. I have never written
> custom callbacks on Rails JS helpers. Could you help me through this?
>
> So im guessing I should be having something like this
>
> <%= observe_field 'contact_id', :frequency => 0.5, :update =>
> 'info', :before => "Element.show('spinner')",
>                 :success => "handle_contact_request(value);", :url =>
> show_contact_path,:method =>:get,
>                 :with => 'contact_id' %>
>

Nearly. your success callback gets 2 thigns: response and
responseJSON. responseJSON contains whatever JSON you put in the X-
JSON header of your response. You callback can be as simple as

check_for_redirect(json){
  if(json && json.redirect)
    page.location = json.redirect
}

and then pass :success => "check_for_redirect(responseJSON)". All you
need to do is to set that header appropriately if you want a redirect
to happen.

Fred



--~--~---------~--~----~------------~-------~--~----~
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