Tutorial de Ruby on Rails
ยฟQuรฉ es Ruby?
Rubรญ Ruby es un lenguaje de programaciรณn de alto nivel, interpretado y orientado a objetos. Es un lenguaje de cรณdigo abierto dinรกmico que cuenta con una gran comunidad detrรกs. Ruby fue diseรฑado para la simplicidad y la productividad. Fomenta la escritura de cรณdigo de software primero por parte de humanos y despuรฉs por parte de computadoras. Fue creado por Yukihiro Matsumoto en Japรณn en 1995.
ยฟQuรฉ son los rieles?
Rieles es un marco de desarrollo escrito en Ruby para crear aplicaciones web. Fue creado como la base de la aplicaciรณn Basecamp y luego lanzado como software de cรณdigo abierto en 2004. Rails ofrece muchas caracterรญsticas y funcionalidades estรกndar integradas, lo que lo convierte en una opciรณn adecuada para el desarrollo y creaciรณn de prototipos MVP.
Fue creado por David Heinemeier Hasson conocido popularmente como DHH. Es una de las herramientas mรกs influyentes y populares para crear aplicaciones web. Es utilizado por algunos de los sitios favoritos como Airbnb, Github, Shopify, etc.
ยฟPor quรฉ rieles?
Aquรญ hay ventajas y beneficios de usar Rails:
- Rails estรก empaquetado como una gema Ruby y puedes usarlo para crear una variedad de aplicaciones.
- Le permite crear aplicaciones web habituales, aplicaciones de comercio electrรณnico, sistemas de gestiรณn de contenidos y mรกs.
- Rails es un marco completo que incluye todo lo necesario para crear una aplicaciรณn web basada en bases de datos, utilizando el patrรณn Modelo-Vista-Controlador.
- Esto significa que todas las capas estรกn diseรฑadas para funcionar perfectamente juntas con menos cรณdigo. Requiere menos lรญneas de cรณdigo que otros marcos.
Cรณmo descargar e instalar Ruby en Windows
El proceso de instalaciรณn dependerรก de su sistema operativo. Deberรก instalar Ruby en Windows, Mac y Linux.
Paso 1) Descargar Rubyinstaller
La forma mรกs sencilla de instalar Ruby en tu Windows computadora es a travรฉs de Ruby Installer, que puede descargar en https://rubyinstaller.org/.
Todo lo que tienes que hacer es ejecutar el instalador descargado.
Paso 2) Haga clic en el instalador descargado
Double-Haga clic en el instalador descargado 'rubyinstaller-2.4.1-2-x64.exe'.
Paso 3) Aceptar la licencia
Seleccione el botรณn de opciรณn "Acepto la licencia" y haga clic en el botรณn "Siguiente". Esto deberรญa llevarlo a la siguiente figura a continuaciรณn:
Paso 4) Marque las dos primeras casillas de verificaciรณn
Marque las dos primeras casillas de verificaciรณn para facilitar la ejecuciรณn de scripts Ruby.
Haga clic en el botรณn "Instalar" para comenzar la instalaciรณn. Deberรญa ver la siguiente figura cuando se complete la instalaciรณn.
Paso 5) Haga clic en Finalizar
No desmarque la casilla de verificaciรณn que instala MSYS2. Haga clic en โFinalizarโ para completar la instalaciรณn y aparecerรก una ventana de sรญmbolo del sistema como la que se muestra en la siguiente figura.
Paso 6) Instala MSYS2
Este paso instala MSYS2, una plataforma de construcciรณn que cuenta con un administrador de paquetes para una fรกcil instalaciรณn de paquetes en Windows.
Presione Entrar para instalar todos los componentes, ya que todos ellos son necesarios para tener un entorno de desarrollo Ruby on Rails fluido con el que trabajar. Windows.
Instalaciรณn de rieles
Deberรญas tener Ruby instalado desde la secciรณn anterior y ahora vas a instalar Rails. Puede instalar Rails usando un paquete de Instalador de rieles, pero el problema con esto es que no obtienes la รบltima versiรณn de los paquetes requeridos.
Si ya tiene instalada la รบltima versiรณn de Ruby y un conjunto bรกsico de extensiones y gemas RubyGem requeridas, todo lo que necesita hacer ahora es ejecutar el siguiente comando en el sรญmbolo del sistema para instalar Rails en su sistema: 'gem install rails'.
Tambiรฉn necesitarรกs instalar Node.js si aรบn no lo tiene porque algunas bibliotecas de las que depende Rails requieren una Javascript tiempo de ejecuciรณn para funcionar correctamente. Puedes obtener el nodo en https://nodejs.org.
Es un enfoque mรกs comรบn y preferido para desarrollar en WindowsLa comunidad Rails utiliza un Windows Subsistema para Linux que proporciona un entorno GNU/Linux con herramientas de lรญnea de comandos, utilidades y aplicaciones comunes directamente en Windows.
Instalaciรณn de Ruby en Mac
Tu Mac ya tiene Ruby preinstalado. Sin embargo, la versiรณn preinstalada puede ser antigua, por lo que deberรก instalar una versiรณn nueva o mรกs reciente.
La forma mรกs sencilla de hacerlo es mediante un administrador de paquetes como Homebrew. Es posible que primero necesites instalar Homebrew ejecutando el siguiente comando en la Terminal.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Esto mostrarรก una advertencia y le pedirรก que ingrese su contraseรฑa. Ingrese su contraseรฑa de Mac (no verรก los caracteres mientras escribe). Simplemente presione "Entrar" cuando haya terminado de escribir su contraseรฑa. Luego ejecuta este sencillo comando Homebrew para instalar Ruby en tu Mac.
brew install ruby
Y tambiรฉn ejecuta este comando:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
Para configurar esta instalaciรณn de Ruby como Ruby predeterminada para ejecutarse en su sistema y no como Ruby preinstalado.
Para confirmar que la instalaciรณn fue exitosa, puede ejecutar lo siguiente en la Terminal
ruby --version
esto imprimirรก el nรบmero de versiรณn de Ruby que ha instalado. La salida se verรก asรญ
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Instalando Ruby en Ubuntu (Linux)
La forma mรกs sencilla de instalar Ruby en tu Ubuntu El sistema se instala a travรฉs del administrador de paquetes apt. Debe ejecutar los siguientes comandos en la terminal para instalar la รบltima versiรณn de Ruby desde Ubuntu repositorios.
- actualizaciรณn sudo apt โ Esto actualizarรก el valor predeterminado. Ubuntu repositorios
- sudo apto instalar ruby-full โ Descargarรก e instalarรก la รบltima versiรณn de Ruby.
Para confirmar que la instalaciรณn fue exitosa, puede ejecutar lo siguiente 'rubรญ โversiรณn,' esto imprimirรก la versiรณn de Ruby que ha instalado.
Instalaciรณn de rieles en Ubuntu (Linux)
Debe seguir los pasos a continuaciรณn para instalar Rails con รฉxito en su mรกquina Linux.
Paso 1) Actualice el administrador de gemas de su computadora ejecutando โactualizaciรณn de gemas โsistemaโ en la Terminal o sรญmbolo del sistema.
Paso 2) Ejecutar 'rieles de instalaciรณn de gemas' para instalar la รบltima versiรณn de Rails en su computadora.
Paso 3) Debe instalar Bundler Gem para facilitar la gestiรณn de dependencias de gemas de la aplicaciรณn Rails. Correr 'paquete de instalaciรณn de gemas' para conseguirlo.
Dos principios de Rails
Rails sigue principios bรกsicos de diseรฑo de software y le anima a utilizar esos principios tambiรฉn.
Los dos mรกs comunes son:
- No te repitas (DRY): esto te permite escribir cรณdigo conciso, coherente y fรกcil de mantener.
- Convenciรณn sobre configuraciรณn: Rails estรก preconfigurado para utilizar valores predeterminados sensatos que se adaptan al uso mรกs comรบn. Esto hace que el desarrollo de su aplicaciรณn sea rรกpido y tambiรฉn tiene menos cรณdigo que mantener.
Rails โ Estructuras de archivos de proyecto
Ahora que Rails estรก instalado en tu sistema, ยกcrearemos una aplicaciรณn Rails! En este tutorial de Ruby on Rails, aprenderemos ejemplos de Ruby on Rails y cรณmo crear una aplicaciรณn de lista de tareas pendientes. Ejecuta el siguiente comando 'rieles nueva todo_app' en su Terminal para crear la aplicaciรณn.
Este comando crea un directorio llamado 'todo_aplicaciรณn' en el directorio actual con la estructura de carpetas bรกsica de una aplicaciรณn web Rails, como se muestra en la siguiente figura:
Revisarรก los directorios principales en este ejemplo de Ruby on Rails.
applicaciรณn โ Este directorio agrupa el uso de diferentes subdirectorios para la interfaz de usuario/diseรฑo (vistas y ayudantes), el controlador (archivos de controladores) y los modelos (lรณgica de negocio/aplicaciรณn).
aplicaciรณn / controladores โ Este directorio almacena archivos de controlador utilizados por Rails para manejar las solicitudes del cliente.
aplicaciรณn / activos โ Contiene archivos estรกticos, lo cual es necesario para el front-end de la aplicaciรณn agrupados en carpetas segรบn su tipo โ JavaScript archivos, imรกgenes y hojas de estilo.
aplicaciรณn / ayudantes โ Este subdirectorio contiene funciones auxiliares que hacen que el modelo de su aplicaciรณn, la vista y la lรณgica del controlador estรฉn centrados en ella y sean pequeรฑos y despejados.
aplicaciรณn/modelos โ Esto contiene archivos
que modelan la base de datos de su aplicaciรณn. Las clases modelo facilitan mucho el trabajo con la base de datos.
aplicaciรณn/vistas โ Esta plantilla/diseรฑo de retenciรณn archiva con los que interactรบa el usuario de su aplicaciรณn. Las plantillas son una combinaciรณn de HTML y datos de la base de datos.
papelera - Contiene scripts de Rails que inician la aplicaciรณn. Tambiรฉn puede incluir otros scripts que se utilizan para configurar y actualizar la aplicaciรณn.
Configuraciรณn โ Esto contiene archivos de configuraciรณn. base de datos.yml, entorno.rb, rutas.rb, etc. que su aplicaciรณn necesita para ejecutarse.
DB - Este directorio contiene archivos/scripts que se utilizan para administrar la base de datos de su aplicaciรณn.
biblioteca โ Este directorio contiene un mรณdulo extendido para su aplicaciรณn.
Iniciar sesiรณn - Esto contiene archivos de registro โ servidor.log, desarrollo.log, prueba.log y producciรณn.log, etc., que se utilizan para depurar o monitorear su aplicaciรณn.
audiencia - Este directorio contiene archivos estรกticos y activos compilados, como archivos HTML, Javascript archivos, imรกgenes y hojas de estilo.
prueba - Este directorio contiene archivos de prueba que usted escribe para probar la funcionalidad de su aplicaciรณn.
tmp โ Este directorio contiene archivos temporales como archivos cachรฉ y pid.
vendedor - Este directorio contiene bibliotecas de terceros.
Archivo de gemas โ Este archivo especifica cuรกles son sus requisitos bรกsicos de gemas para ejecutar su aplicaciรณn web. Puede agrupar las gemas en desarrollo, prueba o producciรณn y Rails sabrรก cuรกndo incluir cada gema.
Archivo de gemas.lock โ A diferencia del Gemfile que enumera explรญcitamente las gemas que desea en su aplicaciรณn, Gemfile.lock contiene adicionalmente otras gemas de las que dependen las que enumera en el Gemfile y que luego se instalan automรกticamente para satisfacer las dependencias.
Lรฉame.md โ Utilice este archivo para compartir detalles esenciales sobre su aplicaciรณn, como quรฉ hace la aplicaciรณn, cรณmo instalarla y ejecutarla.
Archivo de rastrillo โ Este archivo contiene varias definiciones de tareas de rake, lo que ayuda a automatizar las tareas de administraciรณn diarias de su aplicaciรณn.
config.ru โ Este es un archivo de configuraciรณn de Rack que proporciona una interfaz al servidor web para iniciar su aplicaciรณn.
Cambiar directorio al 'todo_aplicaciรณn' directorio Rails generado y ejecutado 'servidor de rieles' para iniciar la aplicaciรณn. Tipo localhost: 3000 En la barra de direcciones de su navegador web, deberรญa ver la siguiente figura si todo saliรณ bien.
Esta es la pรกgina de inicio predeterminada de su aplicaciรณn y la cambiarรก en la secciรณn posterior de este tutorial de Ruby on Rails. Puede detener el servidor presionando 'Ctrl-C'.
Rails โ Generar comandos
El comando Generate de Rails utiliza plantillas para crear una gran cantidad de cosas รบtiles en tu aplicaciรณn. Puedes usar estos generadores para ahorrar mucho tiempo.
Ayuda a escribir cรณdigo repetitivo, cรณdigo necesario para que su aplicaciรณn web funcione. Tu puedes correr 'los rieles generan' por sรญ solo en el sรญmbolo del sistema o en la Terminal para ver una lista de generadores disponibles como se muestra a continuaciรณn:
Tambiรฉn puedes correr 'los rieles generan "comando"' para ver una descripciรณn de lo que hace el comando. Ofrece opciones convenientes que se pueden ejecutar con el comando y el ejemplo de uso. La siguiente figura muestra el resultado de ejecutar'los rieles generan controlador':
Utilizarรก el comando Rails generate Scaffold para crear automรกticamente el modelo, la vista y el controlador para la aplicaciรณn de lista de tareas pendientes que estรก creando. Correr'los rieles generan un andamio todo_list tรญtulo: descripciรณn de la cadena: texto' en tu Terminal (comprueba que todavรญa estรกs en el directorio todo_app).
Esto crearรก una interfaz web CRUD (Crear, leer, actualizar y eliminar) completa para la tabla TodoLists.
Otro comando รบtil para saber es 'los rieles destruyen' invierte lo que sea 'los rieles generan...' hace.
Rieles โ enrutamiento
El sistema de enrutamiento Rails, el enrutador Rails, maneja todas las solicitudes entrantes a su aplicaciรณn web. Para ello, examina la URL de las solicitudes entrantes y luego asigna cada solicitud a la acciรณn del controlador responsable de manejarla, utilizando una sintaxis especial especificada en el archivo de rutas (config / routes.rb).
El archivo de rutas ayuda a controlar cada aspecto de la URL de su aplicaciรณn web. Rails utiliza de forma predeterminada un diseรฑo RESTful basado en el estilo arquitectรณnico REST, que proporciona una correlaciรณn entre los verbos HTTP y las solicitudes (URL) con las acciones del controlador.
El archivo de rutas se generรณ cuando ejecutรณ 'rieles nuevos' En una secciรณn anterior de este tutorial, continรบe con la aplicaciรณn Todo que estรก creando y ejecute lo siguiente:'rieles db:migrar' (sabrรกs quรฉ hace esto en breve)
En su lรญnea de comando, asegรบrese de estar todavรญa en la raรญz de la aplicaciรณn (el directorio todo_app).
Luego inicie el servidor nuevamente con 'servidor de rieles'. Tipo http://localhost:3000/todo_lists/ en su navegador y presione Enter. Deberรญa recuperar una pรกgina web como se muestra en la siguiente figura del ejemplo de Ruby on Rails:
Esta es la vista de listas de tareas pendientes que generรณ el comando scaffold y estรก controlada por la acciรณn de รญndice de TodoListsController.
Continรบe y agregue una lista de tareas pendientes haciendo clic en "Nueva lista de tareas pendientes" en la pรกgina; deberรญa obtener la pรกgina como se muestra a continuaciรณn:
Observe que la URL se cambia a http://localhost:3000/todo_lists/new. Esta es la pรกgina para crear una nueva lista de tareas pendientes y estรก controlada por el nuevo mรฉtodo/acciรณn de TodoListsController.
Ingrese el tรญtulo y la descripciรณn de su lista de tareas pendientes en el formulario y haga clic en el botรณn Crear lista de tareas pendientes; la URL deberรญa cambiar a http://localhost:3000/todo_lists/1, como se muestra en la siguiente figura de ejemplo de cรณdigo de Ruby on Rails:
Esta es la pรกgina de presentaciรณn de una lista de tareas pendientes y estรก controlada por el mรฉtodo/acciรณn show de TodoListsController. Si vuelves a http://localhost:3000/todo_lists/, ahora deberรญa ver la siguiente figura con una nueva lista de tareas pendientes agregada:
Rails pudo asignar las diversas solicitudes (URL) a la acciรณn correspondiente de TodoListsController utilizando la definiciรณn de ruta en config/routes.rb.
Si echas un vistazo a este archivo, verรกs una sola lรญnea. 'recursos: listas_de_todos', es la forma predeterminada de Rails de escribir rutas tranquilas. Esta รบnica lรญnea crea siete rutas, todas asignadas al controlador TodoLists.
Por convenciรณn, la acciรณn de cada controlador tambiรฉn se asigna a una operaciรณn CRUD (Crear, Leer, Actualizar y Eliminar) especรญfica en la base de datos.
Tu puedes correr 'rutas de rastrillo' en su lรญnea de comando para ver las diversas rutas disponibles en su aplicaciรณn. La siguiente figura muestra el resultado de ejecutar 'rutas ferroviarias' en su lรญnea de comando/terminal.
Rieles โ vistas
La capa Ver es uno de los componentes del paradigma MVC y es responsable de generar una respuesta HTML para cada solicitud a su aplicaciรณn. Rails utiliza de forma predeterminada ERB (Embedded Ruby), que es un potente sistema de plantillas para Ruby.
ERB hace que las plantillas de escritura sean fรกciles y fรกciles de mantener al combinar texto sin formato con cรณdigo Ruby para sustituciรณn de variables y control de flujo. Una plantilla ERB tiene extensiรณn .html, .erb o .erb.
Generalmente utilizarรก solo una combinaciรณn de dos marcadores de etiquetas, cada uno de los cuales hace que el cรณdigo incrustado se procese y maneje de una manera particular.
Una etiqueta con un signo igual โโ indica que el cรณdigo incrustado es una expresiรณn y que el renderizador debe sustituir el resultado del cรณdigo cuando renderiza la plantilla.
La otra etiqueta sin signo igual '' indica al renderizador que el resultado del cรณdigo no debe sustituirse/imprimirse cuando renderiza la plantilla.
Cada controlador en su aplicaciรณn Rails tiene un subdirectorio correspondiente en aplicaciรณn / vistas, y cada acciรณn/mรฉtodo en un controlador tiene un archivo .html y .erb correspondiente en este directorio.
Eche un vistazo a la aplicaciรณn/vistas de la aplicaciรณn de tareas pendientes que estรก creando. Encontrarรก un subdirectorio llamado 'listas_todo' dentro de este subdirectorio .html.erb archivos con nombres correspondientes a las acciones/mรฉtodos en el TodoListas controlador.
Rails: ActiveRecord, patrรณn de registro activo y ORM
ActiveRecord es la implementaciรณn Ruby del patrรณn Active Record, que es un patrรณn simple donde una clase representa una tabla y una instancia de la clase representa una fila en esa clase.
ActiveRecord se conoce popularmente como ORM (Object Relational Mapping), una tรฉcnica que le permite administrar su base de datos utilizando un lenguaje con el que se sienta mรกs cรณmodo. Es independiente de la base de datos, por lo que puede cambiar fรกcilmente entre bases de datos (por ejemplo SQLite, MySQL, PostgreSQL, Servidor SQL, Oracle, etc.). Esta suite se adapta mรกs a los requisitos de su aplicaciรณn con el mismo cรณdigo/lรณgica.
Entonces, si desea obtener una matriz que contenga una lista de todas las listas de tareas pendientes en su aplicaciรณn, en lugar de escribir cรณdigo para iniciar una conexiรณn a la base de datos, luego hacer algรบn tipo de consulta SQL SELECT y convertir esos resultados en un formaciรณn.
Para eso, sรณlo necesitas escribir 'TodoList.all' y Active Record te ofrece la matriz llena de objetos TodoList con los que puedes jugar como quieras.
Todo lo que necesitas hacer es establecer la configuraciรณn correcta en config / database.ymly Active Record resolverรก todas las diferencias entre los distintos sistemas de bases de datos. Entonces, cuando pasas de uno a otro, no tienes que pensar en ello.
Usted se concentra en escribir el cรณdigo para su aplicaciรณn y Active Record se ocuparรก de los detalles de bajo nivel para conectarlo con su base de datos. Active Record utiliza convenciones de nombres para crear la asignaciรณn entre los modelos y las tablas de la base de datos.
Rails pluraliza los nombres de las clases de su modelo para encontrar la tabla de base de datos correspondiente. Entonces, para una clase TodoList, ActiveRecord crearรก una tabla de base de datos llamada TodoLists.
Rieles โ Migraciones
La migraciรณn de Rails es simplemente un script que utiliza para editar la base de datos de su aplicaciรณn. Se utiliza para configurar o cambiar su base de datos y evita escribir cรณdigo SQL manualmente para hacerlo.
Utiliza Ruby para definir cambios en el esquema de la base de datos y permite utilizar el control de versiones para mantener la base de datos sincronizada.
Las migraciones de Rails utilizan un lenguaje especรญfico de dominio Ruby (DSL). Esto actรบa como una abstracciรณn y permite utilizar o cambiar el motor de su base de datos segรบn sus requisitos.
Se pueden compartir con cualquier persona que trabaje en la aplicaciรณn y tambiรฉn se pueden revertir para deshacer cualquier cambio en la base de datos. Este es un mecanismo de alta seguridad, ya que no tiene que preocuparse por causar daรฑos permanentes a su base de datos.
Rails โ Asociaciones ActiveRecord
Una conexiรณn entre dos modelos ActiveRecord se conoce como asociaciรณn. La asociaciรณn facilita enormemente la realizaciรณn de operaciones en los diferentes registros del cรณdigo. Se puede dividir en cuatro categorรญas:
Uno a uno: โ Esto indica que un registro contiene precisamente una instancia de otro modelo. Un buen ejemplo es el perfil de usuario. Un usuario tiene un solo perfil. Usa Tiene uno palabra clave.
Uno a muchos: โ Esta es la asociaciรณn mรกs comรบn e indica que un modelo tiene cero o mรกs instancias de otro modelo. tu uso tiene muchos palabra clave para indicar esta asociaciรณn.
Muchos a muchos: โ Esta asociaciรณn es un poco mรกs complicada y ActiveRecord proporciona dos formas de manejarla. Utilizando el tiene_y_pertenece_a_muchos y tiene muchas, lo que le da acceso a la relaciรณn que estรก definida en una tabla separada.
Polimรณrfico uno a muchos:- Esta es una asociaciรณn mรกs avanzada disponible para usted en Rails. Puede usarlo para definir un modelo que puede pertenecer a muchos modelos diferentes en una sola asociaciรณn.
Rails โ Validaciones de ActiveRecord
La validaciรณn ayuda a garantizar que tenga datos correctos porque trabajar con datos incorrectos es algo terrible y podrรญa costarle dinero y su negocio.
La validaciรณn tambiรฉn proporciona una capa adicional de seguridad para su aplicaciรณn contra el acceso de usuarios malintencionados a la informaciรณn de su base de datos. Rails le ofrece una buena API de ayudas de validaciรณn en ActiveRecord para mantener su base de datos limpia, segura y libre de errores.
Las validaciones de ActiveRecord se ejecutan en los objetos del modelo antes de guardarlos en la base de datos, lo que los hace mรกs confiables y tambiรฉn las mejores prรกcticas a seguir al crear su aplicaciรณn.
Los siguientes mรฉtodos ActiveRecord evocan validaciones cuando se utilizan o se invocan en objetos del modelo: ยกcrea, crea!, ยกguarda, guarda!, actualiza y actualiza!. Los que tienen una explosiรณn (ยกcrea!, ยกguarda! y actualiza!) genera una excepciรณn si un registro no es vรกlido mientras no lo sea.
Los ayudantes de validaciรณn de ActiveRecord mรกs comunes a su disposiciรณn son: -
confirmaciรณn:โ Esta ayuda de validaciรณn es รบtil para validar que dos campos tengan la misma entrada. por ejemplo, contraseรฑa y confirmaciรณn de contraseรฑa, se utiliza junto con el asistente de validaciรณn de presencia.
Presencia:โ Esto comprueba que el campo no estรฉ vacรญo.
Unicidad: garantiza un valor รบnico para un campo, por ejemplo, nombre de usuario.
Longitud:- Para imponer un lรญmite en la longitud de caracteres de un campo
Tambiรฉn puede crear su validaciรณn personalizada utilizando el mรฉtodo de validaciรณn y pasรกndole el nombre del mรฉtodo de validaciรณn personalizado.
Puedes consultar el modelo. error Objeto para saber por quรฉ una validaciรณn. Con suerte, tiene algunas ideas para hacer que su aplicaciรณn sea mรกs restringida y mรกs segura para permitir solo datos seguros en su base de datos.
Rieles โ Controlador de acciรณn
El controlador Rails es el centro de su aplicaciรณn web. Facilita y coordina la comunicaciรณn entre el usuario, los modelos y las vistas.
Sus clases de controlador heredan de ApplicationController, que contiene cรณdigo que se puede ejecutar en todos los demรกs controladores y hereda de la clase ActionController.
El controlador proporciona lo siguiente a su aplicaciรณn:
- Enruta solicitudes externas a acciones internas.
- Se las arregla para almacenar en cachรฉ, lo que aumenta el rendimiento de su aplicaciรณn.
- Gestiona mรฉtodos auxiliares que amplรญan las capacidades de las plantillas de vista. Tambiรฉn gestiona las sesiones de los usuarios, brindรกndoles una experiencia fluida al usar su aplicaciรณn.
Rieles โ Configuraciones
Puede configurar los distintos componentes, como inicializadores, recursos, generadores, middlewares, etc., utilizando los inicializadores y archivos de configuraciรณn de su aplicaciรณn Rails en el directorio de configuraciรณn. Archivos como config/application.rb, config/environments/development.rb y config/environments/test.rb, etc. Tambiรฉn puede configurar configuraciones personalizadas para su aplicaciรณn.
Rieles โ Depuraciรณn
A medida que desarrolle su aplicaciรณn, llegarรก un momento en el que necesitarรก/tendrรก que depurar su cรณdigo. Rails facilita esto usando la gema byebug. Puede iniciar una sesiรณn de depuraciรณn colocando la palabra clave "byebeg" en cualquier parte del cรณdigo de su aplicaciรณn.
Esto detendrรก temporalmente la ejecuciรณn en ese punto. La gema byebug te ofrece varios comandos para usar. Los mรกs รบtiles son:
- Next: comando que le permite ir a la siguiente lรญnea de cรณdigo, omitiendo todos los mรฉtodos invocados por la ejecuciรณn de la lรญnea actual.
- paso: esto es similar al comando "siguiente" pero te harรก pasar a cada uno de los invocados.
- romper: esto detiene la ejecuciรณn del cรณdigo.
- continue continรบa la ejecuciรณn del cรณdigo.
Hay otras herramientas de depuraciรณn disponibles, como "pry", y todas proporcionan funcionalidades similares pero una sintaxis ligeramente diferente. Las gemas de depuraciรณn no deben usarse en producciรณn, ya que esto presenta riesgos para su aplicaciรณn y una mala experiencia para los usuarios de su aplicaciรณn.
Hay archivos de registro que puede inspeccionar en busca de errores en producciรณn y manejarlos. Ademรกs, debe seguir un enfoque TDD (desarrollo basado en pruebas) al desarrollar su aplicaciรณn para garantizar que todo funcione bien antes de implementarla en producciรณn.
Resumen
- Ruby es un lenguaje de programaciรณn puramente orientado a objetos.
- Ruby tiene una sintaxis elegante que es fรกcil de leer y escribir.
- Rails es un marco de desarrollo, escrito en Ruby, para crear aplicaciones web.
- El proceso de instalaciรณn dependerรก de su sistema operativo.
- Rails estรก empaquetado como una gema Ruby y puedes usarlo para crear una variedad de aplicaciones.
- Crearรก una aplicaciรณn de lista de tareas pendientes en este tutorial, ejecutarรก el siguiente incomm'n'n' 'rails netoda'p'p'p' en su Terminal para crear la aplicaciรณn.
- El comando Rails generate utiliza plantillas para crear un montรณn de cosas รบtiles en su aplicaciรณn.
- El sistema de enrutamiento Rails, el enrutador Rails, lo ayuda a manejar todas las solicitudes entrantes a su aplicaciรณn web.
- La capa Ver es uno de los componentes del paradigma MVC y es responsable de generar una respuesta HTML para cada solicitud a su aplicaciรณn.
- ActiveRecord es la implementaciรณn Ruby del patrรณn Active Record.
- La migraciรณn de Rails es simplemente un script que utiliza para editar la base de datos de su aplicaciรณn.
- Una conexiรณn entre dos modelos ActiveRecord se conoce como asociaciรณn.
- La validaciรณn ayuda a garantizar que tenga datos correctos porque trabajar con datos incorrectos es algo terrible y podrรญa costarle dinero y su negocio.
- El controlador Rails le ayuda a facilitar y coordinar la comunicaciรณn entre el usuario, los modelos y las vistas.
- Rail te ayuda a configurar los distintos componentes como inicializadores, activos, generadores, middleware, etc.













