2011-09-16 192 views
3

从使用资源路由创建的等效匹配路由是什么?由Ruby on Rails中的资源创建的精确路由匹配路由

请确切。

例如什么会为等价的比赛:
resources :users

应该有7条不同的比赛路线匹配7个行动 - 指数,新,创建,编辑,更新,显示和删除。这里是其中的一个:

HTTP方法:新建(获取操作)
match "users/new", :to => "users#new", :via => :get, :as => :new_user

我有更多一些,但我想确认我有什么与社区。谢谢!

回答

6

我想你想知道的代码应该是在路由文件等什么...

match "users/:id", :to => "users#show", :via => :get, :as => :user 
match "users", :to => "users#index", :via => :get, :as => :users 
match "users", :to => "users#create", :via => :post 
match "users/:id/edit", :to => "users#edit", :via => :get, :as => :edit_user 
match "users/:id", :to => "users#update", :via => [:put, :patch] 
match "users/new", :to => "users#new", :via => :get, :as => :new_user 
match "users/:id", :to => "users#destroy", :via => :delete 
+1

show action实际上是复数 - 匹配users /:id,更新行应该是:via =>:post,而destroy行应该是:to =>“users#delete”,:via =>:delete。让我知道如果我错了,但这是我的代码 – EverTheLearner

+0

你是对的显示复数化,我编辑了路线,以反映这一点。但其余的是正确的(看看@alokswain的答案)控制器方法是破坏和编辑http方法是 – Matthew

+0

太好了,谢谢马修 – EverTheLearner

1

你是对的,它确实给出了7种不同的路线。从Rails Guides

resources :users 

给出7个不同的路由所有这些都将映射到用户控制器。

这些路线将是

GET  /photos    index  display a list of all photos 
GET  /photos/new   new   return an HTML form for creating a new photo 
POST /photos    create  create a new photo 
GET  /photos/:id   show  display a specific photo 
GET  /photos/:id/edit edit  return an HTML form for editing a photo 
PUT  /photos/:id   update  update a specific photo 
DELETE /photos/:id   destroy  delete a specific photo 
+0

感谢您的,但我已经明白了什么路线将会。我感兴趣的是使用resources关键字创建的7个精确匹配路线。 – EverTheLearner

+0

你的答案在下面。对不起,得到你所要求的。 –

+0

感谢您的回答! – EverTheLearner