no route matches ..... for form_remote_tag

I get an error:

No route matches {:controller => :controller, :action=>"add_groups"}

when loading a form under "users" containing:

<% form_remote_tag :url => { :controller => :users, :action => :add_groups } do %>   .... <% end %>

I do have an "add_groups" method in UsersController. I have not messed with routes.rb, just a standard mapping automatically added by scaffold:

map.resources :users

The form is already in the "users" folder so :controller => should be redundant, tried with and without it and no matter what always get "no route matches".

Any ideas?

A route to :add_groups isn't provided by the map.resources :users entry, you have to add a custom route for that action.

http://api.rubyonrails.org/classes/ActionController/Resources.html

You can see what routes you have available by running `rake routes`.

Thanks Greg. I've added the following to my routes.rb:

map.add_groups '/users/add_groups/:id', :controller => 'users', :action => 'add_groups'

And changed url in form_remote_tag to:

<% form_remote_tag :update => 'divgrouptable', :url => add_groups_path(@user) do %> ...

and got it to work. However, I cannot say I understand why I'd have to do this. I don't really want to map the add_groups method to any url. In my original example I was specifying the method name and the controller name in the url:

<% form_remote_tag :url => { :controller => :users, :action => :add_groups } do %>

which should tell rails everything it needs to know to invoke the right method in the right controller, routing should not have anything to do with that. I understand that it obviously does but I don't understand why.

Greg Donald wrote: