passing objects to methods

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!

maybe you can save object to session and send a flag to get the object?

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

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!

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

oh i just realized that in the .erb view files I can directly use rails variables. Sorry for the last question :stuck_out_tongue:

Thanks for the help!

Pesho Petrov wrote: