Restful named member routs is not decoded correctly

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

I define my own member action in the root file as map.resources :helps

You 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/display

You'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 appreciated

Try 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@AgileConsultingLLC.com