2010-12-12 10 views
9

Hey, Ragazzi Sono nuovo di Rails L'ho trovato molto strano quando uso le risorse in routes.rb, dopo aver reindirizzato la pagina a controller/index, renderò il controller/spettacologet, match e risorse in route.rb

so GET controller/action è lo stesso come match "controller/action", :to => "controller/action"

credo che la cosa strana che mi succede circa il reindirizzamento, è simile al GET e match.

quindi mi chiedo che cosa significano esattamente le risorse, posso usare qualche partita semplice fare la stessa cosa?

risposta

23

resources è una scorciatoia per la generazione di sette percorsi necessari per un'interfaccia REST.

resources :widgets è equivalente a scrivere

get "widgets"   => "widgets#index", :as => 'widgets' 
get "widgets/:id"  => "widgets#show", :as => 'widget' 
get "widgets/new"  => "widgets#new",  :as => 'new_widget' 
post "widgets"   => "widgets#create", :as => 'widgets' 
get "widgets/:id/edit" => "widgets#edit", :as => 'edit_widget' 
patch "widgets/:id"  => "widgets#update", :as => 'widget' 
put "widgets/:id"  => "widgets#update", :as => 'widget' 
delete "widgets/:id"  => "widgets#destroy", :as => 'widget' 

solo li conserva la difficoltà.

A proposito, get non corrisponde esattamente a match. get, post, put e delete sono scorciatoie per limitare il percorso a un singolo verbo HTTP. Le due definizioni di percorso di seguito sono equivalenti.

match 'foo' => 'controller#action', :method => :get 
get 'foo' => 'controller#action' 
+0

Wow, questo è esattamente le informazioni che voglio, grazie edgerunner – mko

+1

Rails recenti include anche una 'percorso patch', che è lo stesso del' PUT' uno. – Dave