2010-12-12 4 views
9

Hola, muchachos Soy nuevo en Rails Me resulta muy extraño cuando uso los recursos en routes.rb, después de redirigir la página a controlador/índice, lo renderizo el controlador/mostrarobtención, coincidencia y recursos en routes.rb

GET controller/action es igual que match "controller/action", :to => "controller/action"

creo que lo extraño sucede a mí sobre la redirección, es similar a la GET y Partido.

así que me pregunto qué significan exactamente los recursos, ¿Puedo usar alguna combinación simple para hacer lo mismo?

Respuesta

23

resources es un atajo para generar siete rutas necesarias para una interfaz REST.

resources :widgets es equivalente a escribir

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' 

sólo le ahorra la molestia.

Por cierto, get no es exactamente lo mismo que match. get, post, put y delete son atajos para limitar la ruta a un único verbo HTTP. Las dos definiciones de ruta a continuación son equivalentes.

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

Wow, eso es exactamente la información que quiero, gracias edgerunner – mko

+1

rieles recientes también incluye una ruta 'patch', que es el mismo que el' PUT' uno. – Dave

Cuestiones relacionadas