hey guys, I need to pass an object to a ruby method, which handles an Ajax call. I would appreciate if you could tell me a convenient way to do so. Here is some of my javascript for the Ajax: function submitAjax(evt){ evt.preventDefault(); url = "<%= url_for(:controller => ''groups'', :action => ''search'', :canvas => false, :only_path => false ) %>"; form = document.getElementById(''search_group_form''); submitForm( form , url,''search_team_results''); return false; } I am not sure if there is a way to pass an object in the url string above. I tried the following: url = "<%= url_for( ....., :action => ''search'', :myobject => #{@myobject} ..... but it didn''t work. 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 -~----------~----~----~----~------~----~------~--~---
maybe you can save object to session and send a flag to get the object? On Thu, Feb 26, 2009 at 5:15 PM, Pesho Petrov < rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > hey guys, > > I need to pass an object to a ruby method, which handles an Ajax call. > I would appreciate if you could tell me a convenient way to do so. > > Here is some of my javascript for the Ajax: > > function submitAjax(evt){ > evt.preventDefault(); > url = "<%= url_for(:controller => ''groups'', :action => ''search'', > :canvas => false, :only_path => false ) %>"; > form = document.getElementById(''search_group_form''); > submitForm( form , url,''search_team_results''); > return false; > } > > I am not sure if there is a way to pass an object in the url string > above. I tried the following: > > url = "<%= url_for( ....., :action => ''search'', :myobject => > #{@myobject} ..... > > but it didn''t work. > > > Thanks in advance! > -- > Posted via http://www.ruby-forum.com/. > > > >-- TWRUG Blog: http://blog.rubyonrails.org.tw CFC on Rails: http://zusocfc.blogspot.com Only two surfaces of a box: http://blog.pixnet.net/zusocfc --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
storing whole objects in session isn''t usually a good recommendation... the best solution would probably be to pass just the object''s id and then retrieve it from the database/wherever in your requested action another approach could be to serialize the object and deserialize it at the server. however, if you just need to pass a hash or something like that, you could use the json notation to pass the data Regards On Thu, Feb 26, 2009 at 10:17 AM, CFC <zusocfc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> maybe you can save object to session and send a flag to get the object? > > On Thu, Feb 26, 2009 at 5:15 PM, Pesho Petrov > <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: >> >> hey guys, >> >> I need to pass an object to a ruby method, which handles an Ajax call. >> I would appreciate if you could tell me a convenient way to do so. >> >> Here is some of my javascript for the Ajax: >> >> function submitAjax(evt){ >> evt.preventDefault(); >> url = "<%= url_for(:controller => ''groups'', :action => ''search'', >> :canvas => false, :only_path => false ) %>"; >> form = document.getElementById(''search_group_form''); >> submitForm( form , url,''search_team_results''); >> return false; >> } >> >> I am not sure if there is a way to pass an object in the url string >> above. I tried the following: >> >> url = "<%= url_for( ....., :action => ''search'', :myobject => >> #{@myobject} ..... >> >> but it didn''t work. >> >> >> Thanks in advance! >> -- >> Posted via http://www.ruby-forum.com/. >> >> > > > > -- > TWRUG Blog: > http://blog.rubyonrails.org.tw > > CFC on Rails: > http://zusocfc.blogspot.com > > Only two surfaces of a box: > http://blog.pixnet.net/zusocfc > > > >-- /** * dagi3d v4 | http://dagi3d.net */ --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Billy Hsu wrote:> maybe you can save object to session and send a flag to get the object?Thanks a lot for the hint. The idea seems very nice. However, I can''t get it working. I''m using the Facebooker plugin, maybe it messes up with sessions. in my index method of the main controller, I create the session variable: session[:me] = @me then in another method I try to use print it''s contents: print "\n" + session[:me].account_id.to_s However, I get an error: "You have a nil object when you didn''t expect it!" So the variable is not preserved in the session. Am I doing something wrong with storing/retrieving the session objects? Thanks again! -- 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 -~----------~----~----~----~------~----~------~--~---
hmmm, ok, but even if I try this session[:me] = @me.account_id and try to print it in the other method print "\n" + session[:me].to_s + "aaa" it only prints the "aaa" If I try to print it in the same method, after I have added it to the session, then it outputs the account_id... grr How is it possible that the session is not preserved when I call its variables in another method. By the way, even when I stored a whole object in the session, I could print its contents in the same method where I stored it. any ideas :( Borja Martín wrote:> storing whole objects in session isn''t usually a good recommendation... > the best solution would probably be to pass just the object''s id and > then retrieve it from the database/wherever in your requested action > another approach could be to serialize the object and deserialize it > at the server. however, if you just need to pass a hash or something > like that, you could use the json notation to pass the data > > Regards > > > On Thu, Feb 26, 2009 at 10:17 AM, CFC <zusocfc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >>> Here is some of my javascript for the Ajax: >>> I am not sure if there is a way to pass an object in the url string >>> Posted via http://www.ruby-forum.com/. >> http://zusocfc.blogspot.com >> >> Only two surfaces of a box: >> http://blog.pixnet.net/zusocfc >> >> > >> > > > > -- > /** > * dagi3d v4 | http://dagi3d.net > */-- 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
what I wanted to say is that you should pass the object''s id through the ajax request so there is no need to store it in the session regards On Thu, Feb 26, 2009 at 11:55 AM, Pesho Petrov <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > hmmm, ok, > > but even if I try this > session[:me] = @me.account_id > > and try to print it in the other method > print "\n" + session[:me].to_s + "aaa" > > it only prints the "aaa" > > If I try to print it in the same method, after I have added it to the > session, then it outputs the account_id... grr > How is it possible that the session is not preserved when I call its > variables in another method. > By the way, even when I stored a whole object in the session, I could > print its contents in the same method where I stored it. > > any ideas :( > > > > > Borja Martín wrote: >> storing whole objects in session isn''t usually a good recommendation... >> the best solution would probably be to pass just the object''s id and >> then retrieve it from the database/wherever in your requested action >> another approach could be to serialize the object and deserialize it >> at the server. however, if you just need to pass a hash or something >> like that, you could use the json notation to pass the data >> >> Regards >> >> >> On Thu, Feb 26, 2009 at 10:17 AM, CFC <zusocfc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >>>> Here is some of my javascript for the Ajax: >>>> I am not sure if there is a way to pass an object in the url string >>>> Posted via http://www.ruby-forum.com/. >>> http://zusocfc.blogspot.com >>> >>> Only two surfaces of a box: >>> http://blog.pixnet.net/zusocfc >>> >>> > >>> >> >> >> >> -- >> /** >> * dagi3d v4 | http://dagi3d.net >> */ > > -- > Posted via http://www.ruby-forum.com/. > > > >-- /** * dagi3d v4 | http://dagi3d.net */ --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
aah ok, that was one of the things I tried first. however, I''m still not sure how I should do that syntactically. As I mentioned in my first post, I tried to do something like: (in the controller): @myid = "15" Then in the javascript function, which issues the Ajax call I construct the following url for the Ajax call: url = "<%= url_for(:action => ''search'', :myid => #{@myid}, canvas => false..... Then I get a syntax error. I am not sure how I have to pass the variable in the Ajax url?! And still, I am wondering why after putting a simple string into the session, I cannot retrieve it from another method (different than the one where I added the string) Thank you! Borja Martín wrote:> what I wanted to say is that you should pass the object''s id through > the ajax request so there is no need to store it in the session > > regards > > On Thu, Feb 26, 2009 at 11:55 AM, Pesho Petrov > <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: >> >> >>> >>>> > >> Posted via http://www.ruby-forum.com/. >> >> > >> > > > > -- > /** > * dagi3d v4 | http://dagi3d.net > */-- 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
oh i just realized that in the .erb view files I can directly use rails variables. Sorry for the last question :P Thanks for the help! Pesho Petrov wrote:> aah ok, that was one of the things I tried first. > > however, I''m still not sure how I should do that syntactically. > > As I mentioned in my first post, I tried to do something like: > (in the controller): @myid = "15" > Then in the javascript function, which issues the Ajax call I construct > the following url for the Ajax call: > > url = "<%= url_for(:action => ''search'', :myid => #{@myid}, canvas => > false..... > > Then I get a syntax error. I am not sure how I have to pass the variable > in the Ajax url?! > > > And still, I am wondering why after putting a simple string into the > session, I cannot retrieve it from another method (different than the > one where I added the string) > > > Thank you! > > > > > Borja Martín wrote: >> what I wanted to say is that you should pass the object''s id through >> the ajax request so there is no need to store it in the session >> >> regards-- 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---