"generate scaffold" generated plural name in routes.rb -- why?

Hi,

I ran:
    http://localhost:3000/
I got:
    Routing Error
    No route matches "/" with {:method=>:get}

I had just run:
    ruby script/generate scaffold vendor nickname:string
qbname:string
    rename public\index.html to --index.html

I listed Config\routes.rb:
    ActionController::Routing::Routes.draw do |map|
       map.resources :vendors

I thought the plural "vendors" was odd, so I changed it to singular:
app ran fine.

Why did the plural version get generated? I'm running Rails 2.3.5 on
WinXP-Pro/SP3

Thanks in Advance
Richard

When mapping resources you use the pluralized version, so you need to switch it back to vendors. You also need to map the root, other wise localhost:3000/ will not have a route defined. See this commented line in routes.rb

You can have the root of your site routed with map.root – just remember to delete public/index.html.

map.root :controller => “welcome”

-Jer

Thanks for your response Jeremy,

Here's what I know now. With http://localhost:3000/ and the 2nd line
of routes.db successively:
   map.root :controller => "vendors" # undefined method
`vendor_path'
   map.root :controller => "users" # Works
   map.resources :users # No route matches "/" with {:method=>:get}
   map.resources :vendors # No route matches "/" with
{:method=>:get}

Also, the following both work, seemingly regardless of what routes are
available
    http://localhost:3000/users
    http://localhost:3000/vendors

My next effort is to add a Home page with a side-bar of links to other
pages and kill all the root/resource entries except Home itself as the
default.

Yet I wonder why controller => "vendors" fails despite the fact that
controller => "users" work, when I thing I created them in the same
manner. Do you have any idea? I expect there's not enough info to
let anyone to make a useful guess, so I'll just keep working to
eliminate the need for routes to vendors and users,

Again, thanks for your insights,
Richard