Rails 3 routes

Hi all am learning rails 3.2.8 and i found that in routes if i have a
controller called User and i have 5 def a, def b,def c and def d. do i
need
to mention routes to each def because in 2.3.8 you no need to mention
routes for each def but when i come to 3.2.8 i have to mention routes
for
each def in a controller like
match ‘user/new’ => ‘user#new’
match ‘user/create’ => ‘user#create’
such way for each def in a controller. is there any other way to write a
routes so that you no need to mention routes for each def.

Cheers,
Kp

You can use the resources keyword.

On Tue, Sep 25, 2012 at 10:35 AM, keerthi priya <

any sample code plz

You can use resources in following three different ways.

resources :users

All the methods in Users controller will have routes defined if you add
above line in your routes.rb file. For example users controller have
method
#index then you will be able to open the url
http://localhost:3000/users.

resources :users, :only => [:show, :new, :create]

If you use the above line in routes.rb then you will be able to just use
the show, new and create actions of your controller.

resources :users, :except => [:index, :update, :destroy]

By using the above line you will be able to use any action in your
controller execpt index, update and destroy.

On Tue, Sep 25, 2012 at 12:27 PM, keerthi priya <

You are welcome. By the way does it solve your problem? As I am also a
newbie in rails with 2-3 months experience.

On Tue, Sep 25, 2012 at 3:51 PM, keerthi priya <

OK. Thanks.

Thank you very much Mr.King

Using the scaffolding will help you observe

rails g scaffold -h # get help
rails g scaffold Product name:string url:string
Refer to the book agile web development with rails

On Tuesday, 25 September 2012 03:39:10 UTC-4, Kashif Umair L. wrote:

You can use resources in following three different ways.

resources :users

All the methods in Users controller will have routes defined if you add
above line in your routes.rb file. For example users controller have method
#index then you will be able to open the url http://localhost:3000/users.

Not quite - only the 7 standard actions (new / create / show / index /
edit
/ update / destroy) will be routed. You can write URLs that look like
they
go to other actions (/users/some_other_thing) but they’ll actually be
routed to the show action.

The Routing guide is a great reference for this stuff:

–Matt J.