Restfull routes, link_to, and additional paramters

I am trying to do a link_to with multiple to create an object.
Everything works until ad the second parameter in. As soon as I add the
second parameter, it forgets to add any information about the first one.

link_to “create”, foos_path(@foo, :bar_id => @bar.id), :method => :post

What am I doing incorrect?

Jonathan S. wrote:

I am trying to do a link_to with multiple to create an object.
Everything works until ad the second parameter in. As soon as I add the
second parameter, it forgets to add any information about the first one.

What do you mean, “it forgets to add any information about the first
one”? I don’t understand what you are trying to say there.

link_to “create”, foos_path(@foo, :bar_id => @bar.id), :method => :post
What am I doing incorrect?

You are aware that links should be GET requests and not POST requests,
right? GETs should be safe.

URIs, Addressability, and the use of HTTP GET and POST

Also you should think about “Progressive Enhancement” and what happens
when people do not have have Javascript available. Using :method
requires Javascript to create a form on the fly in memory. It is just
a normal GET otherwise.

But as to your problem, I am not sure. It works for me. I just
jigged up a test case of your example and I was able to use that same
syntax just fine.

I suggest enclosing the link_to with parenthesis. That can sometimes
enable the error to be more visible with a different ruby message.

<%= link_to(“create”, foos_path(@foo, :bar_id => @bar.id), :method =>
:post) %>

Not sure but a shot in the dark. Make sure the parameter is a string
with to_s.

<%= link_to(“create”, foos_path(@foo, :bar_id => @bar.id.to_s),
:method => :post) %>

Are you including default Javascript libraries? IIRC that is needed.
Not sure though.

<%= javascript_include_tag :defaults %>

Good luck!

Bob