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.
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.
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.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.