ruby-on-rails - rutas - routes ruby on rails
¿Qué es un enrutamiento relajante? (5)
Estoy familiarizado con el sistema de enrutamiento de Ruby On Rails y con la forma en que Code Igniter y PhpCake enrutan cosas, pero ¿hay algo más que tener una ubicación centralizada donde se entregan rutas basadas en una estructura de directorios? Me gusta esto
controller/action/id/
Admin/editUser/22
Rutas RESTful Rails, creo que esto muestra el principio de REST
/users/ method="GET" # :controller => ''users'', :action => ''index''
/users/1 method="GET" # :controller => ''users'', :action => ''show''
/users/new method="GET" # :controller => ''users'', :action => ''new''
/users/ method="POST" # :controller => ''users'', :action => ''create''
/users/1/edit method="GET" # :controller => ''users'', :action => ''edit''
/users/1 method="PUT" # :controller => ''users'', :action => ''update''
/users/1 method="DELETE" # :controller => ''users'', :action => ''destroy''
Una gran parte de todo lo relajante es que debe usar los diferentes métodos HTTP para representar diferentes acciones.
Por ejemplo, en Rails, si enviara un HTTP Delete
a /users/[id]
, significaría que desea eliminar ese usuario. HTTP Get
recuperaría una representación adecuada del usuario. HTTP Put
puede actualizar o crear un usuario.
Estos son algunos ejemplos, pero dado que no existe un estándar para las API RESTful en HTTP, esto no es correcto en todos los casos.
asigna HTTP VERBS + URL a una acción específica en el controlador
Ejemplo:
GET /users/1
va a :
:controller => ''users'', :action => ''show''
para ver la asignación completa, vaya a la terminal y escriba:
rake routes
@edtsech es correcto. Me gustaría agregar una cosa más aquí.
En el caso de la actualización, el método es "POST" con un campo oculto que contiene los datos que deben actualizarse.
Entonces PUT = POST + campo oculto.
La premisa básica es que, en lugar de confiar exclusivamente en la URL para indicar a qué página web quieres ir (y solo usar el único método), es una combinación de VERBO y URL.
De esta manera, la misma URL, cuando se utiliza con un verbo diferente (como GET, PUT, POST, DELETE), te llevará a una página diferente. Esto hace que las URL más limpias y más cortas se adapten particularmente a las aplicaciones CRUD, que son la mayoría de las aplicaciones web.