Table of contents : Desde cero hasta el despliegue Introducción Prerequisitos Acuerdos utilizados en este libro En funcionamiento Ambiente de desarrollo Instalando Rails La primera aplicación Bundler rails server Modelo Vista-Controlador (MVC) ¡Hola mundo! Control de versiones con Git Instalación y preparación ¿Qué beneficios le proporciona a usted Git? Bitbucket Ramas, edición, confirmación e integración Desplegando Configuración de Heroku Despliegue en Heroku, paso uno Despliegue en Heroku, paso dos Comandos de Heroku Conclusión Qué aprendimos en este capítulo Ejercicios Una aplicación de juguete Planificando la aplicación Un modelo de juguete para usuarios Un modelo de juguete para microposts El recurso Users Un recorrido por User MVC en acción Debilidades del recurso Users El recurso Microposts Un recorrido por Micropost Poniendo el micro en microposts Un usuario tiene muchos microposts Jerarquías de Herencia Desplegando la aplicación de juguete Conclusión Qué aprendimos en este capítulo Ejercicios Páginas casi estáticas Preparación de la aplicación de ejemplo Páginas estáticas Páginas estáticas generadas Páginas estáticas personalizadas Empezando las pruebas Nuestra primera prueba Rojo Verde Refactor Páginas ligeramente dinámicas Probando los títulos (Rojo) Agregando títulos a las páginas (Verde) Estructuras de diseño y Ruby embebido (Refactorización) Configurando la ruta raíz Conclusión Qué aprendimos en este capítulo Ejercicios Configuración avanzada de pruebas Reporteadores de mini-pruebas Silenciador de traza Pruebas automatizadas con Guard Rails con sabor a Ruby Motivación Cadenas de caracteres y métodos Comentarios Cadenas de caracteres Objetos y paso de mensajes Definiciones de Métodos Regresando al auxiliar para el título Otras estructuras de datos Arreglos y Rangos Bloques Arreglos Hash y Símbolos CSS revisado Clases Ruby Constructores Herencia de Clases Modificando las clases incorporadas Una clase controlador Una clase usuario Conclusión Qué aprendimos en este capítulo Ejercicios Rellenando la estructura de diseño Agregando un poco de estructura Navegación del sitio Bootstrap y CSS personalizado Parciales Sass y la cadena de procesos conectados La cadena de procesos conectados Hojas de estilo sintácticamente impresionantes Enlaces de la estructura de diseño Página de Contacto Rutas Rails Usando rutas nombradas Pruebas a los enlaces de la estructura de diseño Registro de usuario: primer paso Controlador de usuarios URL de Registro Conclusión Qué aprendimos en este capítulo Ejercicios Modelando usuarios Modelo usuario Migraciones de base de datos El archivo modelo Creando objetos usuario Buscando objetos usuario Actualizando objetos usuario Validaciones de usuario Una prueba de validez Validación de presencia Validación de longitud Validación de formato Validación de unicidad Agregando una contraseña segura Una contraseña procesada con la función hash El usuario tiene una contraseña segura Estándares mínimos de contraseña Creando y autenticando un usuario Conclusión Qué aprendimos en este capítulo Ejercicios Registro Mostrando usuarios Depuración y ambientes Rails Un recurso usuarios Depurador Una imagen gravatar y una barra lateral El formulario de registro Usando form_for El formulario HTML de registro Registros fallidos Un formulario funcional Parámetros fuertes Mensajes de error de registro Una prueba para envío de datos inválidos Registros exitosos El formulario de registro terminado El flash El primer registro Una prueba para el envío de datos válidos Despliegue de grado profesional SSL en producción Servidor web de Producción Número de versión de Ruby Conclusión Qué aprendimos en este capítulo Ejercicios Inicio y Cierre de Sesión Sesiones Controlador de Sesiones Formulario para inicio de sesión Encontrando y autenticando al usuario Mostrando un mensaje flash Una prueba para flash Entrar al sistema El método log_in Usuario actual Actualizando los enlaces de la estructura de diseño Probando los cambios a la estructura de diseño Inicio de sesión al registrarse Cerrando sesión Recuérdame Recordando el token y la digestión Inicio de sesión con recuerdo Olvidando usuarios Dos defectos sutiles Casilla ``Recuérdame'' Pruebas para Recuérdame Conclusión Qué aprendimos en este capítulo Ejercicios Actualizando, mostrando y borrando usuarios Actualizando usuarios Formulario de edición Ediciones fallidas Probando las ediciones fallidas Ediciones exitosas (con TDD) Autorización Requiriendo a los usuarios que inicien sesión Requiriendo el usuario correcto Redirección amigable Mostrando todos los usuarios Listado de Usuarios Usuarios de ejemplo Paginación Prueba al listado de usuarios Refactorización parcial Borrando usuarios Usuarios administrativos La acción destroy Pruebas al borrado de usuario Conclusión Qué aprendimos en este capítulo Ejercicios Activación de la cuenta y reinicio de contraseña Activación de la cuenta El recurso para la activación de la cuenta Método de envío de correo electrónico para la activación de la cuenta Activando la cuenta Prueba de activación y refactorización Reinicio de Contraseña El recurso de reinicio de contraseñas Controlador y formulario de reinicio de contraseñas Método gestor de reinicio de contraseña Reiniciando la contraseña Prueba de reinicio de contraseña Correo electrónico en producción Conclusión Qué aprendimos en este capítulo Ejercicios Comparación de la prueba de expiración Micromensajes de usuario Un modelo de micromensaje El modelo básico Validaciones de micromensajes Asociaciones Usuario / Micromensaje Refinamiento de Micromensajes Mostrando los micromensajes Desplegando micromensajes Micromensajes de ejemplo Pruebas a los micromensajes del perfil Manipulando micromensajes Control de acceso de micromensajes Creando micromensajes Un avance prototipo Destruyendo micromensajes Pruebas de los micromensajes Micromensajes de imágenes Carga de imágenes básica Validación de imagen Modificando el tamaño de la imagen Carga de imágenes en producción Conclusión Qué aprendimos en este capítulo Ejercicios Siguiendo usuarios El modelo relación Un problema con el modelo de datos (y una solución) Asociaciones Usuario / relación Validaciones de relación Usuarios seguidos Seguidores Una interfaz web para seguir usuarios Datos de ejemplo de seguimiento Estadísticas y el formulario de seguimiento Páginas de seguidos y seguidores Un botón de seguimiento funcionando de forma estándar Un botón de seguimiento funcionando con Ajax Pruebas de seguimiento El status de avance Motivación y estrategia Una primera implementación del avance Subconsultas Conclusión Guía de recursos adicionales Qué aprendimos en este capítulo Ejercicios