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: