Forum: Ruby on Rails Issue with passing parameter to action using link_to

Posted by Sumit Srivastava (Guest)
on 2012-11-30 05:52
(Received via mailing list)
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?
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 06:13
(Received via mailing list)
On Fri, Nov 30, 2012 at 12:51 PM, Sumit Srivastava <
sumit.theinvincible@gmail.com> 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.


> rubyonrails-talk+unsubscribe@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-....
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



--
Posted by sumit srivastava (Guest)
on 2012-11-30 06:17
(Received via mailing list)
On 30 November 2012 10:41, Jim Ruther Nill <jvnill@gmail.com> 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.
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 06:26
(Received via mailing list)
On Fri, Nov 30, 2012 at 1:16 PM, sumit srivastava <
sumit.theinvincible@gmail.com> 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
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



--
Posted by sumit srivastava (Guest)
on 2012-11-30 06:34
(Received via mailing list)
On 30 November 2012 10:55, Jim Ruther Nill <jvnill@gmail.com> 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.
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 06:43
(Received via mailing list)
On Fri, Nov 30, 2012 at 1:32 PM, sumit srivastava <
sumit.theinvincible@gmail.com> 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.
>>>> --
>>>  --
>>
>> rubyonrails-talk+unsubscribe@googlegroups.com.
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



--
Posted by sumit srivastava (Guest)
on 2012-11-30 06:51
(Received via mailing list)
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 Srivastava

The power of imagination makes us infinite...
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 07:10
(Received via mailing list)
On Fri, Nov 30, 2012 at 1:50 PM, sumit srivastava <
sumit.theinvincible@gmail.com> 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.
>>>>> rubyonrails-talk+unsubscribe@googlegroups.com.
>>>>
>>>
>>
>> To unsubscribe from this group, send email to
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



--
Posted by sumit srivastava (Guest)
on 2012-11-30 07:52
(Received via mailing list)
Verified it. Don't have puts anywhere else.

Regards
Sumit Srivastava

The power of imagination makes us infinite...
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 07:54
(Received via mailing list)
On Fri, Nov 30, 2012 at 2:50 PM, sumit srivastava <
sumit.theinvincible@gmail.com> 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 Srivastava
>>>> On Fri, Nov 30, 2012 at 1:32 PM, sumit srivastava <
>>>>>>> On 30 November 2012 10:41, Jim Ruther Nill <jvnill@gmail.com> 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/-....
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>> Groups "Ruby on Rails: Talk" group.
>>>>> You received this message because you are subscribed to the Google
>>>>
>>>> rubyonrails-talk+unsubscribe@googlegroups.com.
>>> rubyonrails-talk+unsubscribe@googlegroups.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@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



--
Posted by Colin Law (Guest)
on 2012-11-30 09:48
(Received via mailing list)
On 30 November 2012 06:50, sumit srivastava
<sumit.theinvincible@gmail.com> 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
Posted by sumit srivastava (Guest)
on 2012-11-30 09:57
(Received via mailing list)
On 30 November 2012 14:16, Colin Law <clanlaw@googlemail.com> wrote:

> On 30 November 2012 06:50, sumit srivastava
> <sumit.theinvincible@gmail.com> 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.
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 10:14
(Received via mailing list)
On Fri, Nov 30, 2012 at 4:56 PM, sumit srivastava <
sumit.theinvincible@gmail.com> 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.
>
>
>



--
Posted by sumit srivastava (Guest)
on 2012-11-30 10:16
(Received via mailing list)
On 30 November 2012 14:43, Jim Ruther Nill <jvnill@gmail.com> 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.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.