How to use RESTful routes.

Okay, this has come up before... but it is NOT working for me *sigh*
but, I'm hoping someone can tell me why. (Rails version 1.2.6)

Let's say I want to create an off the wall method in my Users
controller, called login. I also create the view for this action,
login.erb. My first problem was that /users/login did not work (rails
mistook login for being :id). So that was fixed with:

  map.resources :users, :collection => {:login => :get }

But now, I want my users to be able to click login from the homepage,
simple enough? But this RESTful link generates a no method error.

<%= link_to 'Login', login_users_path %>

What have I missed/why does this not work?

kopf1988 wrote:

Okay, this has come up before... but it is NOT working for me *sigh*
but, I'm hoping someone can tell me why. (Rails version 1.2.6)

Let's say I want to create an off the wall method in my Users
controller, called login. I also create the view for this action,
login.erb. My first problem was that /users/login did not work (rails
mistook login for being :id). So that was fixed with:

  map.resources :users, :collection => {:login => :get }

But now, I want my users to be able to click login from the homepage,
simple enough? But this RESTful link generates a no method error.

<%= link_to 'Login', login_users_path %>

What have I missed/why does this not work?

$ rake routes

:slight_smile:

Do I have to run that? Does that change any files that I can just
upload themselves? I can't just go around raking things on my shared
host...

Results of my rake routes:
              web_pages GET /web_pages
{:action=>"index", :controller=>"web_pages"}
    formatted_web_pages GET /web_pages.:format
{:action=>"index", :controller=>"web_pages"}
                        POST /web_pages
{:action=>"create", :controller=>"web_pages"}
                        POST /web_pages.:format
{:action=>"create", :controller=>"web_pages"}
           new_web_page GET /web_pages/new
{:action=>"new", :controller=>"web_pages"}
formatted_new_web_page GET /web_pages/new.:format
{:action=>"new", :controller=>"web_pages"}
          edit_web_page GET /web_pages/:id/edit
{:action=>"edit", :controller=>"web_pages"}
                        GET /web_pages/:id;edit
{:action=>"edit", :controller=>"web_pages"}
                        GET /web_pages/:id.:format;edit
{:action=>"edit", :controller=>"web_pages"}
formatted_edit_web_page GET /web_pages/:id/edit.:format
{:action=>"edit", :controller=>"web_pages"}
               web_page GET /web_pages/:id
{:action=>"show", :controller=>"web_pages"}
     formatted_web_page GET /web_pages/:id.:format
{:action=>"show", :controller=>"web_pages"}
                        PUT /web_pages/:id
{:action=>"update", :controller=>"web_pages"}
                        PUT /web_pages/:id.:format
{:action=>"update", :controller=>"web_pages"}
                        DELETE /web_pages/:id
{:action=>"destroy", :controller=>"web_pages"}
                        DELETE /web_pages/:id.:format
{:action=>"destroy", :controller=>"web_pages"}
               websites GET /websites
{:action=>"index", :controller=>"websites"}
     formatted_websites GET /websites.:format
{:action=>"index", :controller=>"websites"}
                        POST /websites
{:action=>"create", :controller=>"websites"}
                        POST /websites.:format
{:action=>"create", :controller=>"websites"}
            new_website GET /websites/new
{:action=>"new", :controller=>"websites"}
  formatted_new_website GET /websites/new.:format
{:action=>"new", :controller=>"websites"}
           edit_website GET /websites/:id/edit
{:action=>"edit", :controller=>"websites"}
                        GET /websites/:id;edit
{:action=>"edit", :controller=>"websites"}
                        GET /websites/:id.:format;edit
{:action=>"edit", :controller=>"websites"}
formatted_edit_website GET /websites/:id/edit.:format
{:action=>"edit", :controller=>"websites"}
                website GET /websites/:id
{:action=>"show", :controller=>"websites"}
      formatted_website GET /websites/:id.:format
{:action=>"show", :controller=>"websites"}
                        PUT /websites/:id
{:action=>"update", :controller=>"websites"}
                        PUT /websites/:id.:format
{:action=>"update", :controller=>"websites"}
                        DELETE /websites/:id
{:action=>"destroy", :controller=>"websites"}
                        DELETE /websites/:id.:format
{:action=>"destroy", :controller=>"websites"}
               pictures GET /pictures
{:action=>"index", :controller=>"pictures"}
     formatted_pictures GET /pictures.:format
{:action=>"index", :controller=>"pictures"}
                        POST /pictures
{:action=>"create", :controller=>"pictures"}
                        POST /pictures.:format
{:action=>"create", :controller=>"pictures"}
            new_picture GET /pictures/new
{:action=>"new", :controller=>"pictures"}
  formatted_new_picture GET /pictures/new.:format
{:action=>"new", :controller=>"pictures"}
           edit_picture GET /pictures/:id/edit
{:action=>"edit", :controller=>"pictures"}
                        GET /pictures/:id;edit
{:action=>"edit", :controller=>"pictures"}
                        GET /pictures/:id.:format;edit
{:action=>"edit", :controller=>"pictures"}
formatted_edit_picture GET /pictures/:id/edit.:format
{:action=>"edit", :controller=>"pictures"}
                picture GET /pictures/:id
{:action=>"show", :controller=>"pictures"}
      formatted_picture GET /pictures/:id.:format
{:action=>"show", :controller=>"pictures"}
                        PUT /pictures/:id
{:action=>"update", :controller=>"pictures"}
                        PUT /pictures/:id.:format
{:action=>"update", :controller=>"pictures"}
                        DELETE /pictures/:id
{:action=>"destroy", :controller=>"pictures"}
                        DELETE /pictures/:id.:format
{:action=>"destroy", :controller=>"pictures"}
              galleries GET /galleries
{:action=>"index", :controller=>"galleries"}
    formatted_galleries GET /galleries.:format
{:action=>"index", :controller=>"galleries"}
                        POST /galleries
{:action=>"create", :controller=>"galleries"}
                        POST /galleries.:format
{:action=>"create", :controller=>"galleries"}
            new_gallery GET /galleries/new
{:action=>"new", :controller=>"galleries"}
  formatted_new_gallery GET /galleries/new.:format
{:action=>"new", :controller=>"galleries"}
           edit_gallery GET /galleries/:id/edit
{:action=>"edit", :controller=>"galleries"}
                        GET /galleries/:id;edit
{:action=>"edit", :controller=>"galleries"}
                        GET /galleries/:id.:format;edit
{:action=>"edit", :controller=>"galleries"}
formatted_edit_gallery GET /galleries/:id/edit.:format
{:action=>"edit", :controller=>"galleries"}
                gallery GET /galleries/:id
{:action=>"show", :controller=>"galleries"}
      formatted_gallery GET /galleries/:id.:format
{:action=>"show", :controller=>"galleries"}
                        PUT /galleries/:id
{:action=>"update", :controller=>"galleries"}
                        PUT /galleries/:id.:format
{:action=>"update", :controller=>"galleries"}
                        DELETE /galleries/:id
{:action=>"destroy", :controller=>"galleries"}
                        DELETE /galleries/:id.:format
{:action=>"destroy", :controller=>"galleries"}
           modify_users /users/modify
{:action=>"modify", :controller=>"users"}
                               /users;modify
{:action=>"modify", :controller=>"users"}
                               /users.:format;modify
{:action=>"modify", :controller=>"users"}
formatted_modify_users /users/modify.:format
{:action=>"modify", :controller=>"users"}
            login_users GET /users/login
{:action=>"login", :controller=>"users"}
                        GET /users;login
{:action=>"login", :controller=>"users"}
                        GET /users.:format;login
{:action=>"login", :controller=>"users"}
  formatted_login_users GET /users/login.:format
{:action=>"login", :controller=>"users"}
           logout_users GET /users/logout
{:action=>"logout", :controller=>"users"}
                        GET /users;logout
{:action=>"logout", :controller=>"users"}
                        GET /users.:format;logout
{:action=>"logout", :controller=>"users"}
formatted_logout_users GET /users/logout.:format
{:action=>"logout", :controller=>"users"}
                  users GET /users
{:action=>"index", :controller=>"users"}
        formatted_users GET /users.:format
{:action=>"index", :controller=>"users"}
                        POST /users
{:action=>"create", :controller=>"users"}
                        POST /users.:format
{:action=>"create", :controller=>"users"}
               new_user GET /users/new
{:action=>"new", :controller=>"users"}
     formatted_new_user GET /users/new.:format
{:action=>"new", :controller=>"users"}
              edit_user GET /users/:id/edit
{:action=>"edit", :controller=>"users"}
                        GET /users/:id;edit
{:action=>"edit", :controller=>"users"}
                        GET /users/:id.:format;edit
{:action=>"edit", :controller=>"users"}
    formatted_edit_user GET /users/:id/edit.:format
{:action=>"edit", :controller=>"users"}
                   user GET /users/:id
{:action=>"show", :controller=>"users"}
         formatted_user GET /users/:id.:format
{:action=>"show", :controller=>"users"}
                        PUT /users/:id
{:action=>"update", :controller=>"users"}
                        PUT /users/:id.:format
{:action=>"update", :controller=>"users"}
                        DELETE /users/:id
{:action=>"destroy", :controller=>"users"}
                        DELETE /users/:id.:format
{:action=>"destroy", :controller=>"users"}
                               /:controller/service.wsdl
{:action=>"wsdl"}
                               /:controller/:action/:id.:format
                               /:controller/:action/:id

rake routes just help you figure out what is available.