Issue with passing parameter to action using link_to

Hi,

I have a controller named Users with index action.

def index
puts “************* #{params[:city]}”


end

From the view,
link_to(:city, list_users_with_city_path(:city => city.name))

But when I click on this link, it doesn’t prints out anything for the
params. All the “*” are being printed. The url in the browser displays,

localhost:3000/users?city=delhi

Instead when I create a new route, get ‘/users/:city’ => ‘users#index’,
:as
=> list_users_with_city
This works fine. I get proper output.

What could be the problem?

On Fri, Nov 30, 2012 at 12:51 PM, Sumit S. <
[email protected]> wrote:

From the view,
link_to(:city, list_users_with_city_path(:city => city.name))

You implied below that list_users_with_city_path is not yet defined
at this point so why is it not giving any errors? where did you
get list_user_with_city_path if you haven’t defined it in the routed
yet?

But when I click on this link, it doesn’t prints out anything for the
params. All the “*” are being printed. The url in the browser displays,

localhost:3000/users?city=delhi

Instead when I create a new route, get ‘/users/:city’ => ‘users#index’,
:as => list_users_with_city
This works fine. I get proper output.

[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/lpsqYbWtC0cJ.
For more options, visit https://groups.google.com/groups/opt_out.

On 30 November 2012 10:41, Jim Ruther N. [email protected] wrote:

def index
at this point so why is it not giving any errors? where did you
get list_user_with_city_path if you haven’t defined it in the routed yet?

Wrote this by mistake. I use it this way after defining the path. What
doesn’t works is,

link_to(:city, users(:city => city.name)
And this is not giving any errors but nothing is received in the index
action.

On Fri, Nov 30, 2012 at 1:16 PM, sumit srivastava <
[email protected]> wrote:

I have a controller named Users with index action.

action.

use users_path. I’m not sure why it’s not giving any errors.

Instead when I create a new route, get ‘/users/:city’ => ‘users#index’,
You received this message because you are subscribed to the Google

To unsubscribe from this group, send email to
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.

On Fri, Nov 30, 2012 at 1:32 PM, sumit srivastava <
[email protected]> wrote:

puts "************* #{params[:city]}"

get list_user_with_city_path if you haven’t defined it in the routed

use users_path. I’m not sure why it’s not giving any errors.

Ah! Again I typed wrong. Yes, this is what I used, users_path and seems
like I also missed the closing bracket for link_to up here. Certainly, it
gave errors without “path”.

So, with the correct syntax, link_to(:city, users_path(:city => city.name)),
it didn’t work.

i’m not sure why params[:city] isn’t set when you reach that puts
statement. It may be caused by
a number of things. Can you check if it really goes to the index
action,
you may have declared
something on your routes that takes precedence over the users resources?
Paste in the log after
you click on the link and you routes file (everything before the
resources
:users line).

For more options, visit https://groups.google.com/groups/opt_out.

[email protected].
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.

On 30 November 2012 10:55, Jim Ruther N. [email protected] wrote:

...

Wrote this by mistake. I use it this way after defining the path. What
doesn’t works is,

link_to(:city, users(:city => city.name)
And this is not giving any errors but nothing is received in the index
action.

use users_path. I’m not sure why it’s not giving any errors.

Ah! Again I typed wrong. Yes, this is what I used, users_path and seems
like I also missed the closing bracket for link_to up here. Certainly,
it
gave errors without “path”.

So, with the correct syntax, link_to(:city, users_path(:city =>
city.name)),
it didn’t work.

If it were being directed to some other action, then ***************
should
not have been printed. And when I am trying to access this parameter
from
the view “index.html.haml”, its value is printed exactly what is being
passed.

Regards
Sumit S.

The power of imagination makes us infinite…

On Fri, Nov 30, 2012 at 1:50 PM, sumit srivastava <
[email protected]> wrote:

If it were being directed to some other action, then ***************
should not have been printed. And when I am trying to access this parameter
from the view “index.html.haml”, its value is printed exactly what is being
passed.

You’re right but you may have the same kind of puts code in other parts
of
your file. We’re just making
sure that it really is going to the index action. Try to use debugger
instead of puts when you’re debugging.
There may be times when you’re rendering the same template from a
different
action which is why
the value is printed correctly.

On Fri, Nov 30, 2012 at 1:16 PM, sumit srivastava <

Hi,
link_to(:city, list_users_with_city_path(:city => city.name))

gave errors without “path”.
Paste in the log after

To unsubscribe from this group, send email to

For more options, visit https://groups.google.com/groups/opt_out.
[email protected].

To unsubscribe from this group, send email to
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Verified it. Don’t have puts anywhere else.

Regards
Sumit S.

The power of imagination makes us infinite…

On Fri, Nov 30, 2012 at 2:50 PM, sumit srivastava <
[email protected]> wrote:

Verified it. Don’t have puts anywhere else.

ok. sorry but I ran out of ideas. without looking at the logs or the
whole code, i won’t be able to
help.

You’re right but you may have the same kind of puts code in other parts

Sumit S.

On Fri, Nov 30, 2012 at 1:32 PM, sumit srivastava <

On 30 November 2012 10:41, Jim Ruther N. [email protected] wrote:

You implied below that list_users_with_city_path is not yet defined
index action.
city.name)), it didn’t work.

the params. All the “*” are being printed. The url in the browser
displays,

https://groups.google.com/d/msg/rubyonrails-talk/-/lpsqYbWtC0cJ.

Groups “Ruby on Rails: Talk” group.
You received this message because you are subscribed to the Google

[email protected].
[email protected].


You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.

On 30 November 2012 14:16, Colin L. [email protected] wrote:

On 30 November 2012 06:50, sumit srivastava
[email protected] wrote:

Verified it. Don’t have puts anywhere else.

Jim asked you to post the contents of the log (log/development.log)
when you click the link. Why have you not done that? Or have I
missed that message?

I haven’t posted the log yet because the code I posted is an example of
what I am using. I can’t post the code as it is proprietary. And so the
log
contains info that might violate it.

On 30 November 2012 06:50, sumit srivastava
[email protected] wrote:

Verified it. Don’t have puts anywhere else.

Jim asked you to post the contents of the log (log/development.log)
when you click the link. Why have you not done that? Or have I
missed that message?

Colin

On Fri, Nov 30, 2012 at 4:56 PM, sumit srivastava <
[email protected]> wrote:

I haven’t posted the log yet because the code I posted is an example of
what I am using. I can’t post the code as it is proprietary. And so the log
contains info that might violate it.

Create a new rails app and try to replicate the behavior. If you can do
that, we
might be able to help. If not, consult within your company. Good luck!

For more options, visit https://groups.google.com/groups/opt_out.

On 30 November 2012 14:43, Jim Ruther N. [email protected] wrote:

Verified it. Don’t have puts anywhere else.

Create a new rails app and try to replicate the behavior. If you can do
that, we
might be able to help. If not, consult within your company. Good luck!

Thanks for the help. Will give it a try and post accordingly.