I''ve read this about rails actions,
''Each action results in a response, which holds the headers and
document
to be sent to the user''s browser. The actual response object is
generated automatically through the use of renders and redirects and
requires no user intervention.''
This seems to work and make sense when a browser makes the POST, however
we have a 3D engine called Unity contrsucting an HTTP POST to our server
which passes a thumbnail of a rendered image. The controller saves the
thumnail without any trouble and the method in the controller runs to
completion however the browser isn''t redirected as it should becuase it
is Unity (the 3D player) which made the HTTP POST and not the browser.
So the parent html view which loads the player just sits there hung.
My question is, is there a way to send an HTTP Response (with a
succesful status) back to the player to let it know that the save was
succesful, and at that point we can take an action to redirect the page
in javascript from the parent view.
simplified code is as follows:
def update
@virtual_item = VirtualItem.find(params[:id])
@virtual_item.name = params[:name]
if @virtual_item.update_attributes(params[:virtual_item])
flash[:notice] = ''VirtualItem was successfully
updated.''
redirect_to :action => ''list''
else
render :action => ''edit''
end
end
The attribute of @virtual_item always are successfully updated, but the
browser isn''t redirected to list. How do we send a response back to
the
Unity engine which made the POST to the update method?
Thanks in advance.
--
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
On 23 Apr 2008, at 06:00, Chris Metcalfe wrote:> > I''ve read this about rails actions, > > ''Each action results in a response, which holds the headers and > document > to be sent to the user''s browser. The actual response object is > generated automatically through the use of renders and redirects and > requires no user intervention.'' > > This seems to work and make sense when a browser makes the POST, > however > we have a 3D engine called Unity contrsucting an HTTP POST to our > server > which passes a thumbnail of a rendered image. The controller saves > the > thumnail without any trouble and the method in the controller runs to > completion however the browser isn''t redirected as it should becuase > it > is Unity (the 3D player) which made the HTTP POST and not the browser. > So the parent html view which loads the player just sits there hung. > > My question is, is there a way to send an HTTP Response (with a > succesful status) back to the player to let it know that the save was > succesful, and at that point we can take an action to redirect the > page > in javascript from the parent view.Can''t your player check for a 200 (== render) or 30x (== redirect) response. Arguably this would be a case where using the standard xml type update would be more useful (eg if there are errors then you get some xml describing them rather than just a web form). Fred> > > simplified code is as follows: > def update > > @virtual_item = VirtualItem.find(params[:id]) > @virtual_item.name = params[:name] > if @virtual_item.update_attributes(params[:virtual_item]) > flash[:notice] = ''VirtualItem was successfully updated.'' > redirect_to :action => ''list'' > else > render :action => ''edit'' > end > end > > The attribute of @virtual_item always are successfully updated, but > the > browser isn''t redirected to list. How do we send a response back to > the > Unity engine which made the POST to the update method? > > Thanks in advance. > -- > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > For more options, visit this group at http://gr--~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Frederick Cheung wrote:> On 23 Apr 2008, at 06:00, Chris Metcalfe wrote: > >> however >> My question is, is there a way to send an HTTP Response (with a >> succesful status) back to the player to let it know that the save was >> succesful, and at that point we can take an action to redirect the >> page >> in javascript from the parent view. > > Can''t your player check for a 200 (== render) or 30x (== redirect) > response. Arguably this would be a case where using the standard xml > type update would be more useful (eg if there are errors then you get > some xml describing them rather than just a web form). > > FredYes I do believe the player can check for the response. However, it isn''t getting any resonse back from the controller which is strange. The page (and embedded) player just sit there waiting for a response. We can write a event function within the player that says ''Ok we''ve sent our data now do something'' but that isn''t ideal. It would be nice if it could check for a successful response and then execute the next action we choose to take. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---