Muy buenas, les saluda Luis y hoy les traigo otro tutorial.
La mayoría de los back-end
de mi proyecto están construidos con Ruby on Rails
. Estudié y trabajé con Ruby on Rails durante mi tiempo en Flatiron.
Amo a Ruby y la encuentro más fácil para usar y entender que Java
y C #
que estudié en Chattahoochee Technical College.
El archivo de rutas se encuentra dentro de la carpeta de configuración. Cada vez que se produzca una actualización en el archivo de rutas, asegurar y reiniciar su servidor si se está ejecutando actualmente.
Una ruta común para un proyecto puede parecerse al ejemplo siguiente, y desglosaré lo que significa cada pieza.
get “/users”, to: “users # index”
El Verbo HTTP para este ejemplo es «obtener”. Un "get"
recuperará información o datos. "/ Users"
es la ruta URL que buscará el back-end
.
Así que si estás en http: // localhost: 3000 /
para su proyecto o aplicación, la URL para acceder a los «usuarios» es http: // localhost: 3000 / users
. "To:"
es una palabra clave para indicar dónde debe ir la ruta.
Por último, tenemos "Usuarios # índice"
. «usuarios” en el lado izquierdo del signo de almohadilla está el nombre del controlador. «índice» a la derecha está el nombre del método que queremos invocar o llamar en el»usuarios» controlador.
Básicamente, esta ruta es para recuperar todos los usuarios (por lo general, el índice es para recuperar todos los elementos, y mostrar es para un elemento específico).
Si no necesitamos rutas personalizadas, podemos ser perezosos o eficientes y escriba lo siguiente en el archivo de rutas para un controlador de «usuarios».
resources :users
Solo esta línea de arriba nos dará acceso a los siguientes métodos o acciones en un controlador.
- Índice – mostrar todos los elementos.
- Show – mostrar un artículo.
- Crear – crear un nuevo artículo.
- Nuevo – devuelve un formulario HTML para crear un elemento.
- Actualizar – actualizar un artículo existente.
- Editar– devuelve un formulario HTML para actualizar un elemento.
- Destruir – eliminar un artículo.
Pero, ¿qué sucede si necesitamos acceder a una acción en el controlador del usuario que no se proporciona en la lista anterior? ¿Cómo podemos lograr eso?
Índice
Rutas aduaneras, ¡así es!
¡Ahora voy a explicar en pasos cómo implementar una ruta personalizada en Rails!
Ejemplo de escenario: escribir una ruta personalizada para agregar un amigo al usuario
Fingiremos que hay 2
relaciones: Usuarios y Amigos de usuarios. Un usuario tiene muchos amigos y UserFriends
pertenece a los usuarios.
En lugar de crear otro controlador, escribiremos una ruta personalizada en el controlador del usuario para agregar un nuevo amigo al usuario. En realidad, no escribiremos el código o la lógica para agregar al amigo al Usuario.
Nosotros solamente mostrar cómo escribir la ruta y acceder a ella en el controlador. ¡Consigámoslo!
Acceda al archivo de rutas dentro de la carpeta configs
. Aquí escribiremos una ruta personalizada para agregar un amigo a un Usuario
.
Nuestro verbo HTTP será “puesto” porque vamos a estar creando un nuevo UserFriend
para el usuario. '/ add_friend'
es la ruta que usaremos para acceder a esta acción en el controlador de usuario. Si actualmente usamos localhost
, la URL puede verse así:
http: // localhost: 3000 / add_friend
Queremos apuntar la ruta "a:"
el controlador de usuarios, y queremos invocar la acción add_friend
en el controlador de usuarios. Recuerde reiniciar su servidor si se realizan cambios en algo dentro de la carpeta de configuración.
Usted no va anotar o ver las actualizaciones hasta que se separe del reinicio. Esto provocará mucha frustración si no se tiene cuidado. ¡Créame, lo sé!
Todo lo que queda es crear la acción personalizada en el controlador de Usuarios. Todo lo que tenemos que hacer es navegar hasta el controlador de Usuarios y crear la acción "add_friend"
.
El controlador de usuarios estará dentro de la carpeta de controladores que está dentro de la carpeta de la aplicación.
En el archivo de código anterior, tenemos dos acciones actualmente en el controlador de Usuarios. La primera acción es probablemente la acción más común para un controlador, la acción de índice.
Idealmente, una acción de índice devuelve todos los elementos de una base de datos o tabla de datos. Si no está familiarizado con «incluir» en la línea 6, permite que una relación «tiene muchos» regrese con cada artículo al que «pertenece» si existe.
Es una característica increíble si nunca la ha utilizado antes. ¡Las líneas 10-12
contienen nuestra acción personalizada! Como puede ver, no escribí la lógica para agregar un amigo ya que este no es el tema central del artículo.
¡Como programadores, probamos TODO! Es la única forma de garantizar que todo funcione de la manera que deseamos.
Me encanta lanzar un «byebug» en la acción add_friend
para asegurar que la ruta y la acción estén configuradas correctamente. Byebug es mi herramienta favorita para probar Rails.
Necesitaremos acceso a nuestro usuario actual para agregar un amigo a ese usuario. Me gusta probar esto usando la línea 12
para identificar lo que se devuelve.
front-end
al back-end
para agregar un amigo y el back-end
golpea el byebug, ¡sabemos que la ruta personalizada está configurada correctamente!
Es posible que la lógica para agregar un amigo no esté necesariamente configurada correctamente, pero al menos acertamos. Eso asegura que nuestra ruta personalizada y nuestra acción personalizada se sincronicen correctamente.
Mientras está en el byebug, juegue y explore qué «parámetros» o parámetros se le devuelven para identificar de manera eficiente un algoritmo para agregar un amigo.
¡Ahora sabe cómo escribir rutas personalizadas! Son muy fáciles de implementar después de escribir con éxito el primero.
Gracias por leer y espero que este artículo le haya resultado útil.
Añadir comentario