I define my own member action in the root file as map.resources :helps map.resources :helps, :member => {:display => :put} The tables listed by rake routs displays the pathes and helpers as display_help PUT /helps/:id/display {:controller=>"helps", :action=>"display"} formatted_display_help PUT /helps/:id/display.:format {:controller=>"helps", :action=>"display"} I am using it in a link in the view as display_help_path (:id=>''What_is_Disweb'') and the url in the corresponding link is http://localhost:3000/hepls/What_is_Disweb/display This seems all OK, but rails tell me that it cannot find an action named What_is_Disweb, when I click on the link I seems as the url is decoded as I had not add the member action Anyone that has any ideas of what is going on ? Has anyone met the same problem ? What mistakes have I done ? What are the sources of my problem ? I am displaying the link in another window ? Is that the source of the problem? I have tried to find the source of the probllem for hours, but without any success. Any help is very much appreciated --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Rob Biedenharn
2009-Jan-28 16:36 UTC
Re: Restful named member routs is not decoded correctly
On Jan 28, 2009, at 9:45 AM, Hans wrote:> I define my own member action in the root file as > map.resources :helpsYou don''t need the first one, the second (with the :member option) does what you need.> > map.resources :helps, :member => {:display => :put} > > The tables listed by rake routs displays the pathes and helpers as > display_help PUT /helps/:id/display > {:controller=>"helps", :action=>"display"} > formatted_display_help PUT /helps/:id/display.:format > {:controller=>"helps", :action=>"display"} > > I am using it in a link in the view as display_help_path > (:id=>''What_is_Disweb'') > and the url in the corresponding link is > http://localhost:3000/hepls/What_is_Disweb/displayYou''ve stipulated that the method used for the display action must be PUT, so if you click on a link, that''s a GET and it is most likely matching the default route: map.connect ''/:controller/:action/:id''> > > This seems all OK, but rails tell me that it cannot find an action > named What_is_Disweb, when I click on the link > I seems as the url is decoded as I had not add the member action > > Anyone that has any ideas of what is going on ? Has anyone met the > same problem ? > What mistakes have I done ? What are the sources of my problem ? > I am displaying the link in another window ? Is that the source of the > problem? > I have tried to find the source of the probllem for hours, but without > any success. > > Any help is very much appreciatedTry having just: map.resources :helps, :member => {:display => :get} and see if your problem goes away. I''d also recommend commenting out the default routes and add the actual routing that you need. -Rob Rob Biedenharn http://agileconsultingllc.com Rob-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---