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 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.

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:

  1. Crear un nuevo proyecto Rails:

    rails new project_name
    
  2. Iniciar el servidor Rails:

    rails server
    
  3. Abrir la consola de Rails:

    rails console
    
  4. Generar un nuevo controlador:

    rails generate controller controller_name action_name
    
  5. Generar un nuevo modelo:

    rails generate model ModelName field:type
    
  6. Ejecutar migraciones de base de datos:

    rails db:migrate
    

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:

  1. Ruta raíz:

    root 'controller_name#action_name'
    
  2. Ruta genérica:

    get '/path', to: 'controller#action'
    
  3. Ruta de recurso (genera rutas CRUD estándar):

    resources :model_name
    

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:

  1. Acción index (listar todos los objetos):

    def index
      @objects = ModelName.all
    end
    
  2. Acción show (mostrar un solo objeto):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. Acción new (mostrar formulario para un nuevo objeto):

    def new
      @object = ModelName.new
    end
    
  4. 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
    
  5. Acción edit (mostrar formulario para editar un objeto existente):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. 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
    
  7. Acción destroy (eliminar un objeto):

    def destroy
      @object = ModelName.find(params[:id])
      @object.destroy
      redirect_to model_name_path
    end
    

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:

  1. Recuperar todos los objetos:

    ModelName.all
    
  2. Encontrar un objeto por ID:

    ModelName.find(id)
    
  3. Encontrar un objeto por un valor de campo específico:

    ModelName.find_by(field: value)
    

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:

  1. Crear un enlace:

    <%= link_to "Link Text", path %>
    
  2. Mostrar mensajes de error:

    <% @object.errors.full_messages.each do |message| %>
      <div><%= message %></div>
    <% end %>
    

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:

  1. Crear una nueva migración:

    rails generate migration MigrationName
    
  2. 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