User Avatar

Corso Ruby on Rails

40 ore
Qualsiasi livello

Corso Ruby on Rails

Ruby on Rails, chiamato comunemente anche “RoR”, è un framwork open-source per lo sviluppo applicazioni web, scritto nel linguaggio Ruby da David Heinemeier Hansson. La sua caratteristica principale consiste nell’ architettura fortemente orientata al paradigma MVC (Model View Control). Questa permette lo sviluppo con molto meno codice rispetto agli altri framework partendo da una configurazione minima.

Ruby on Rails è un framework “full-stack” basato su due principi:

“Convention over Configuration” e “Don’t Repeat Your Self”. I componenti di RoR sono integrati in modo tale che i collegamenti non devono essere impostati manualmente e  lo sviluppatore deve intervenire nella configurazione soltanto per ciò che differisce dalle convenzioni.

Ruby in fine, è il linguaggio di programmazione ad oggetti realizzato nel 1993  dal giapponese Yukihiro Matsumoto, diventato popolare proprio con l’ascesa ed il successo di Ruby on Rails.


Il corso Ruby on Rails è un percorso formativo di 40 ore rivolto a aziende informatiche e team di sviluppo che desiderano acquisire competenze pratiche e aggiornate sul framework più produttivo del panorama web. Attraverso lezioni interattive online in aula virtuale, i partecipanti imparano a creare applicazioni complete basate sull’architettura MVC (Model–View–Controller), sfruttando le ultime innovazioni introdotte da Rails 7, come Hotwire, Turbo, Stimulus e le query asincrone di ActiveRecord.

Il programma copre tutte le fasi dello sviluppo: dall’installazione e configurazione dell’ambiente, alla gestione dei modelli e delle migrazioni, fino alla creazione di interfacce dinamiche, autenticazione sicura degli utenti e integrazione di API RESTful. Ampio spazio è dedicato anche alle best practice aziendali, alla sicurezza, alla validazione dei dati e alla gestione dei processi di deploy in ambienti cloud o containerizzati (Docker).

Ogni modulo combina teoria e pratica con esercitazioni guidate e un project work finale, che consente di mettere in applicazione le competenze apprese realizzando un piccolo CMS o una web app aziendale. Il corso fornisce una preparazione solida e aggiornata per sviluppatori e consulenti che vogliono utilizzare Ruby on Rails in contesti professionali moderni e scalabili.


Requisiti : corso rivolto a sviluppatori, conoscenze basi di programmazione in un linguaggio ad
oggetti.

Obiettivi del Corso Ruby on Rails

Al termine del corso, i partecipanti saranno in grado di:

  • Preparare e configurare un ambiente di produzione Rails (logging, monitoraggio, deploy in cloud/container)
  • Comprendere l’architettura di Ruby on Rails e le convenzioni principali (MVC, DRY, CoC)
  • Installare e configurare un progetto Rails moderno (versione 7.x o successiva) in ambienti aziendali (Windows/Mac/Linux / container)
  • Sviluppare un’applicazione Rails completa: modello-vista-controller, routing, associazioni, migrazioni, autenticazione, autorizzazione
  • Integrare tecnologie moderne nel contesto Rails: Hotwire/Turbo/Stimulus, query asincrone, crittografia dei dati, API RESTful, asset moderni
  • Applicare best-practice per la qualità del codice, la manutenzione, la scalabilità, la sicurezza e il deploy in ambiente aziendale

Per altri corsi sullo sviluppo web (rivolti alle aziende) naviga visiona il catalogo QUI.

Corso Ruby on Rails erogato solo per aziende e su richiesta. Modalità virtual classroom online o frontale.

Vuoi essere ricontattato?

Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Programma Didattico (40 ore):

     

    1. Framework Ruby on Rails

    • Introduzione a Ruby on Rails: storia, filosofia (Convention over Configuration, Don’t Repeat Yourself)
    • Architettura MVC e pattern associati in Rails
    • Panoramica della versione 7.x (o 8 se disponibile): novità principali (es. Hotwire, ActiveRecord encrypts, query asincrone)

    2. Installazione dell’ambiente Rails moderno 

    • Installazione di Ruby (versione consigliata, gestione via rbenv/RVM) e Rails (7.x)
    • Configurazione ambiente di sviluppo (Windows/Mac/Linux) o preferibilmente container Docker per uniformità aziendale
    • RubyGems, Bundler, gestione delle dipendenze, aggiornamento dei gem, sicurezza delle gem
    • Scelta del database (PostgreSQL come standard aziendale, MySQL come alternativa), configurazione Web Server (Puma/NGINX)
    • Setup di un nuovo progetto Rails con rails new, struttura iniziale, file system

    3. Creazione del progetto Rails 

    • Accesso al progetto, uso di Bundler, generazione dei controller e delle view (rails generate controller, rails generate model)
    • File structure: app/, config/, db/, lib/, etc.
    • Routing: configurazione di config/routes.rb, gestione delle richieste HTTP e mapping verso controller/actions
    • Avvio del server Rails in ambiente di sviluppo

    4. Contenuti dinamici 

    • Rendering di template (render), redirect (redirect_to), variabili d’istanza, parametri URL e link (link_to, url_for)
    • Passaggio di parametri, gestione di query string, strong parameters
    • Introduzione all’interazione con frontend (Turbo/Stimulus) per contenuti dinamici

    5. Database, Migrazioni e gestione del modello 

    • Creazione del database (PostgreSQL) e configurazione del progetto per produzione/ sviluppo/ test
    • Migrazioni (metodi create_table, add_column, rename_column, change)
    • Migrazioni per CMS o applicazioni aziendali (gestione posizioni, ordinamento)
    • Rolling back, schema.rb, struttura dei modelli nel database

    6. Modelli, ActiveRecord e query avanzate 

    • Introduzione ad ActiveRecord, console Rails (rails console)
    • Generazione modello (rails generate model), creazione/aggiornamento/cancellazione record (.create, .update, .destroy)
    • Query methods: where, order, limit, offset, pluck, distinct, joins
    • Novità Rails 7: query asincrone con load_async per ottimizzazione prestazioni
    • Uso delle enum, strict_loading, e miglioramenti database introduci in Rails 7

    7. Associazioni tra modelli 

    • Tipi di associazioni: has_one, belongs_to, has_many, has_many :through
    • One-to-one, One-to-many, Many-to-many (semplice e “ricca” con join model)
    • Esempi pratici: Blog con Autore/Articoli, Progetto/Utenti, Ruoli e Permessi aziendali
    • Caricamento eager vs lazy, gestione N+1 queries e best-practice

    8. Controllers e operazioni CRUD 

    • Introduzione ai controller: azioni standard index, show, new, create, edit, update, destroy
    • Form basics, uso dei helper form_with, form_for
    • Flash messages, redirezioni, pagine statiche e sezioni CRUD per modelli aziendali
    • Introduzione al pattern “service objects” e separazione logica controller-model in contesti aziendali

    9. Layout, view helpers e frontend integration 

    • Layouts (application.html.erb), partials (_form.html.erb), rendere view DRY
    • View Helpers: built-in, custom helpers, sanitizzazione dell’HTML (sanitize, safe_join)
    • Integrazione con il frontend moderno: utilizzo di Turbo-Frames, Turbo-Streams, Stimulus (Hotwire) per aggiornamenti dinamici in tempo reale

    10. Asset management e integrazione JS 

    • Gestione degli asset (CSS, JavaScript) in Rails 7: importmaps, esbuild, rollup, Webpack opzionale
    • Uso di Stimulus e Turbo per componenti frontend interattivi
    • Chiamate AJAX, streaming di contenuti, WebSockets con ActionCable, se rilevante per l’azienda
    • Introduzione al front-end modulare in applicazioni aziendali Rails + React o Vue se richiesto

    11. Forms, validazione e sicurezza 

    • Helpers del form: select, options_for_select, check_box, radio_button
    • Gestione degli errori nel form: errors.full_messages, field_with_errors
    • Protezione CSRF (Cross-Site Request Forgery) in Rails, strong parameters, mass assignment
    • Best-practice sicurezza: autenticazione, limiti, sanitizzazione input, protezione SQL/XSS

    12. Validazione dei dati e business logic 

    • Validations built-in (validates_presence_of, validates_length_of, validates_format_of, validates_uniqueness_of)
    • Validazioni personalizzate (validate :custom_method)
    • Callback (before_save, after_create, after_commit) e quando usarli con cautela
    • Refactoring della logica di business in model/service objects per manutenzione aziendale

    13. Autenticazione e autorizzazione

    • Introduzione: gestire utenti, ruoli, login/logout
    • Uso di gem comuni: Devise, Pundit o CanCanCan (consigliato in contesti aziendali)
    • Gestione sicura delle password (bcrypt di default), cookies session, restrizione accessi, autorizzazione a livello di controller/model

     

    14. REST, API e architettura moderna 

    • Comprendere REST e HTTP verbs (GET, POST, PUT/PATCH, DELETE)
    • Routes restful: resources :models, nested resources, route non‐standard
    • Costruzione di API JSON con Rails: respond_to :json, namespace api/v1, versioning
    • Integrazione di API con frontend o mobile, autenticazione token (JWT)
    • Best practice per architettura API in contesti aziendali

    15. Debugging, error-handling, testing e deployment 

    • Logging efficace: livelli (DEBUG, INFO, WARN, ERROR, FATAL), strumenti operativi (Lograge, Semantic Logger) in ambiente aziendale
    • Tecniche di debugging, profiling, performance (benchmark method di Rails 7)
    • Gestione degli errori in produzione (exception tracking con Sentry, Airbrake)
    • Testing automatico: unit test, functional test, system test (Minitest o RSpec), CI/CD pipelines
    • Deploy di un’app Rails: ambienti staging & produzione, container/Docker, gestione della configurazione, monitoraggio, scalabilità (orizzontale/verticale)

     

    Contattaci su Whatsapp
    Innovaformazione
    Privacy Policy

    Questo sito Web utilizza i cookie per consentirci di offrire la migliore esperienza utente possibile. Le informazioni sui cookie sono memorizzate nel tuo browser ed eseguono funzioni come riconoscerti quando ritorni sul nostro sito web e aiutando il nostro team a capire quali sezioni del sito web trovi più interessanti e utili.

    È possibile regolare tutte le impostazioni dei cookie navigando le schede sul lato sinistro.