Guías de Make it Real
  • Introduction
  • Preparación
    • Conceptos básicos
    • El editor de texto
    • La línea de comandos
    • Git y Github
  • Git
    • Instalación y configuración
    • Conceptos y comandos esenciales
    • Ignorando archivos y carpetas
    • Trabajando con ramas
    • Repositorios remotos
    • Etiquetas
    • Reescribiendo la historia
    • Stashing
    • Github
  • HTML y CSS
    • Introducción a HTML
    • Introducción a CSS
    • Más elementos de HTML
    • Tablas
    • Formularios
    • El modelo de caja en CSS
    • Fondos (backgrounds)
    • Posicionamiento
    • Selectores CSS
    • Bordes, sombras y gradientes
    • Media Queries
    • Unidades en CSS
    • Flexbox
  • Bootstrap 3
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Personalizando Bootstrap
    • Utilizando plantillas
  • Bootstrap 4
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Clases utilitarias
    • Personalizando Bootstrap
  • Ruby
    • Primeros pasos
    • Tipos y operadores
    • Variables y entrada de usuario
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Hashes
    • Métodos
    • Manipulación de archivos
    • Gemas
  • Programación Orientada a Objetos en Ruby
    • Clases y objetos
    • Métodos y atributos de clase
    • Herencia
    • Módulos
    • Excepciones
  • JavaScript I
    • Primeros pasos
    • Tipos y operadores
    • Variables
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Funciones
    • Objetos literales
    • Manipulación de archivos
  • JavaScript en el navegador
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Local Storage
    • History API
    • Canvas
    • Notificaciones Web
    • Audio y Video
    • Arrastrar y soltar
    • JSON
    • Realizando peticiones HTTP
  • jQuery
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Plugins
    • Realizando peticiones con AJAX
  • JavaScript II
    • Prototipos
    • Librerías (Node.js)
    • ES6
    • Uso de this (call, apply, bind)
    • Programación funcional
    • Scope, hoisting, closures
    • Programación asincrónica
    • Testing
  • HTTP y Sinatra
    • Primeros pasos con Sinatra
    • El protocolo HTTP
    • Rutas
    • Formularios
    • Cookies y sesión
  • Bases de datos
    • Bases de datos relacionales
    • SQL
    • DDL
    • MongoDB
  • Ruby on Rails I
    • Primeros pasos
    • Arquitectura
    • Rutas
    • Layouts y rendering
    • ActiveRecord - Modelos
    • ActiveRecord - Migraciones
    • ActiveRecord - Validaciones
    • ActiveRecord - Asociaciones
    • ActiveRecord - Scopes
    • ActiveRecord - Callbacks
    • Recursos REST
    • Formularios
    • Autenticación con Devise
    • Sass y Bootstrap
    • Envío de correos
    • Carga de imágenes
    • Seeds
    • Heroku
  • Ruby on Rails II
    • Usando JavaScript (y jQuery) en Rails
    • Testing en Ruby
    • Testing en Rails
    • Creando una Web API
    • Web Sockets
  • Express.js
    • Primeros Pasos
    • El protocolo HTTP
    • Rutas
    • Vistas
    • Middlewares y manejo de errores
    • Formularios
    • Cookies y sesión
  • Express.js II
    • Mongoose
    • Web Sockets
    • Autenticación
    • Envío de correos
    • Cargar imágenes
    • Deployment
    • Testing
    • Creando una Web API
  • React
    • Primeros pasos
    • JSX
    • Componentes
    • Más sobre estado
    • Formularios
    • Peticiones HTTP con Axios
    • React Hooks
    • React Context
    • React Bootstrap
    • React Router
    • Carga de Imágenes
    • Testing
    • Estructura de carpetas
    • Componentes de clase
  • Redux
    • Primeros pasos
    • Action creators
    • Usando la librería react-redux
    • Middlewares
    • Operaciones asincrónicas con redux-thunk
    • Combinando funciones reductoras
    • Testing
    • Redux Tool Kit
  • Algoritmos
    • Describiendo un algoritmo
    • Complejidad (Big-O)
    • Estructuras de datos
    • Recursión
    • Ordenamiento
    • Búsqueda
    • Programación dinámica
  • Python
    • Primeros Pasos
    • Tipos y Variables
    • Funciones
    • Control de Flujo
    • Listas
    • Ciclos
    • Diccionarios, Tuplas y Sets
  • NumPy
    • Primeros Pasos
    • Arreglos
    • Arreglos Multidimensionales
    • Estadística con NumPy
    • Distribución Estadística
  • Pandas
    • Primeros Pasos
    • Inspección y Selección de Datos
    • Modificando Dataframes
    • La Función Lambda
    • Aggregates en Pandas
    • Múltiples Tablas
Powered by GitBook
On this page
  • Variables de path
  • Nombrando las rutas
  • Listando las rutas
  1. Ruby on Rails I

Rutas

Las rutas se definen en el archivo config/routes.rb.

La ruta debe especificar:

  • El verbo HTTP.

  • El path.

  • El controlador y el método (acción) que se van a encargar de procesar la petición que coincida.

Por ejemplo, la siguiente ruta:

get '/welcome/index', to: 'welcome#index'

tiene los siguientes elementos:

  • Utiliza el verbo GET.

  • Utiliza el path /welcome/index

  • El método index del controlador welcome_controller.rb se va a encargar de procesar la acción.

Otras formas de definir la misma ruta son:

get '/welcome/index' => 'welcome#index'
get '/welcome/index' # Rails infiere el controlador y el método de la ruta

Variables de path

Al igual que con Sinatra es posible definir variables en las rutas que después podemos obtener el hash params. Por ejemplo:

get '/hello/:name', to: "welcome#hello"

En el controlador utilizamos el hash params para obtener la variable :name:

class WelcomeController < ApplicationController
  def hello
    @name = params[:name]
  end
end

Nota: Aunque en la vista también podemos acceder el hash params, en general se recomienda pasar la información a través variables de instancia.

Nombrando las rutas

Es posible darle un nombre a cada ruta para no tener que usar el path (p.e. /welcome/index) en vínculos y redireccionamientos.

El nombre se le da con la opción as como se muestra en el siguiente ejemplo:

get '/welcome/index', to: 'welcome#index', as: "welcome"

De esa forma, ahora podemos utilizar el nombre seguido de _path o _url (p.e. welcome_path o welcome_url).

welcome_path # /welcome/index
welcome_url  # http://localhost:3000/welcome/index

En general utiliza _path a menos de que estés compartiendo un link en correos o quieras mostrar el URL completo.

Puedes usar el nombre de la ruta en vínculos así:

<a href="<%= welcome_path %>">Ir al Home</a>

De hecho Rails viene con un método de ayuda que vamos a ver más adelante llamado link_to que te permite crear vínculos de la siguiente forma:

<%= link_to "Ir al home", welcome_path %>

Esta última es la forma en la que se recomienda hacer vínculos internos en la aplicación.

Listando las rutas

Si quieres ver una lista de todas las rutas de la aplicación puedes utilizar el comando rails routes desde la consola (o rake routes si estás utilizando una versión de Rails menor a la 5):

$ rails routes
       Prefix Verb URI Pattern              Controller#Action
welcome_index GET  /welcome/index(.:format) welcome#index

El Prefix es el nombre de la ruta. Por defecto Rails le pone un nombre a la ruta así no hayamos utilizado as.

PreviousArquitecturaNextLayouts y rendering

Last updated 2 years ago