Ruby: Aprendiendo Ruby
Una guía completa de Ruby y Rails
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Ruby cloud lista para usar que proporciona una serie de beneficios, incluyendo:
- Despliegue su aplicación en segundos con un simple
git push.- Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
- Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
- Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.
Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución de Ruby cloud hosting de Stackhero!
Ruby y Ruby on Rails
Ruby es un lenguaje de programación interpretado de alto nivel diseñado para la simplicidad y la productividad. Su sintaxis elegante permite a los desarrolladores lograr más con menos código, mientras admite paradigmas de programación procedimental, orientada a objetos y funcional.
Ruby on Rails, a menudo llamado simplemente Rails o RoR, es un robusto framework de aplicaciones web escrito en Ruby. Construido sobre el patrón Modelo-Vista-Controlador (MVC), Rails promueve la convención sobre la configuración y enfatiza el principio de no te repitas (DRY), facilitando y haciendo más eficiente la construcción de aplicaciones web complejas.
Línea de comandos de Rails (CLI)
La interfaz de línea de comandos (CLI) de Rails es una herramienta poderosa para gestionar su aplicación Rails. Incluye comandos para crear nuevos proyectos, iniciar el servidor, acceder a la aplicación a través de la consola y generar varios componentes como modelos y controladores. A continuación, se presentan algunos comandos esenciales que todo desarrollador de Rails debería conocer:
-
Crear un nuevo proyecto Rails:
rails new project_name -
Iniciar el servidor Rails:
rails server -
Abrir la consola de Rails:
rails console -
Generar un nuevo controlador:
rails generate controller controller_name action_name -
Generar un nuevo modelo:
rails generate model ModelName field:type -
Ejecutar migraciones de base de datos:
rails db:migrate
Rutas de Rails
El enrutamiento conecta las solicitudes entrantes con los controladores y acciones apropiados en una aplicación Rails. Ofrece una forma sencilla de diseñar URLs y puntos de acceso para su aplicación. Las rutas se definen en el archivo config/routes.rb. Aquí hay algunos patrones de enrutamiento comunes:
-
Ruta raíz:
root 'controller_name#action_name' -
Ruta genérica:
get '/path', to: 'controller#action' -
Ruta de recurso (genera rutas CRUD estándar):
resources :model_name
Acciones de controladores de Rails
Los controladores sirven como intermediarios entre los modelos y las vistas al recibir solicitudes entrantes y renderizar las respuestas apropiadas. Los siguientes ejemplos ilustran acciones comunes de controladores para listar, mostrar, crear, actualizar y eliminar recursos:
-
Acción index (listar todos los objetos):
def index @objects = ModelName.all end -
Acción show (mostrar un solo objeto):
def show @object = ModelName.find(params[:id]) end -
Acción new (mostrar formulario para un nuevo objeto):
def new @object = ModelName.new end -
Acción create (guardar un nuevo objeto):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Acción edit (mostrar formulario para editar un objeto existente):
def edit @object = ModelName.find(params[:id]) end -
Acción update (aplicar cambios a un objeto existente):
def update @object = ModelName.find(params[:id]) if @object.update(params.require(:model_name).permit(:field1, :field2)) redirect_to @object else render :edit end end -
Acción destroy (eliminar un objeto):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Consultas básicas de ActiveRecord de Rails
ActiveRecord es el sistema de mapeo objeto-relacional (ORM) integrado de Rails. Abstrae las interacciones con la base de datos y le permite trabajar con registros de base de datos como objetos Ruby nativos. Aquí hay algunas consultas comunes de ActiveRecord para obtener y manipular datos:
-
Recuperar todos los objetos:
ModelName.all -
Encontrar un objeto por ID:
ModelName.find(id) -
Encontrar un objeto por un valor de campo específico:
ModelName.find_by(field: value)
Helpers ERB de Rails
Embedded Ruby (ERB) es un sistema de plantillas que le permite escribir HTML con código Ruby incrustado. Los helpers ERB son métodos que simplifican tareas comunes en las vistas. Aquí hay algunos ejemplos:
-
Crear un enlace:
<%= link_to "Link Text", path %> -
Mostrar mensajes de error:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Migraciones de Rails
Las migraciones le permiten evolucionar su esquema de base de datos de manera coherente y verificable. Utilizan un DSL de Ruby, por lo que no tiene que escribir SQL en bruto a mano, haciendo que sus cambios de esquema sean independientes de la base de datos. Aquí se explica cómo crear y ejecutar una migración:
-
Crear una nueva migración:
rails generate migration MigrationName -
En el archivo de migración generado (
db/migrate/):class MigrationName < ActiveRecord::Migration[6.0] def change add_column :table_name, :column_name, :type remove_column :table_name, :column_name end end