Ruby: Imparare Ruby
Una guida completa su Ruby e Rails
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una soluzione Ruby cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:
- Distribuisci la tua applicazione in pochi secondi con un semplice
git push.- Usa il tuo nome di dominio e beneficia della configurazione automatica dei certificati HTTPS per una sicurezza potenziata.
- Goditi la tranquillità con backup automatici, aggiornamenti con un clic, e una tariffazione semplice, trasparente e prevedibile.
- Ottieni prestazioni ottimali e una sicurezza robusta grazie a una VM privata e dedicata.
Risparmia tempo e semplificati la vita: bastano solo 5 minuti per provare la soluzione Ruby cloud hosting di Stackhero!
Ruby e Ruby on Rails
Ruby è un linguaggio di programmazione interpretato di alto livello progettato per la semplicità e la produttività. La sua sintassi elegante consente agli sviluppatori di ottenere di più con meno codice, supportando i paradigmi di programmazione procedurale, orientata agli oggetti e funzionale.
Ruby on Rails, spesso semplicemente chiamato Rails o RoR, è un robusto framework per applicazioni web scritto in Ruby. Costruito sul modello Model-View-Controller (MVC), Rails promuove la convenzione rispetto alla configurazione e enfatizza il principio DRY (Don't Repeat Yourself), rendendo più facile ed efficiente la costruzione di applicazioni web complesse.
Interfaccia a riga di comando (CLI) di Rails
L'interfaccia a riga di comando (CLI) di Rails è uno strumento potente per gestire la tua applicazione Rails. Include comandi per creare nuovi progetti, avviare il server, accedere all'applicazione tramite la console e generare vari componenti come modelli e controller. Di seguito sono riportati alcuni comandi essenziali che ogni sviluppatore Rails dovrebbe conoscere:
-
Creare un nuovo progetto Rails:
rails new project_name -
Avviare il server Rails:
rails server -
Aprire la console Rails:
rails console -
Generare un nuovo controller:
rails generate controller controller_name action_name -
Generare un nuovo modello:
rails generate model ModelName field:type -
Eseguire le migrazioni del database:
rails db:migrate
Rotte Rails
Il routing collega le richieste in arrivo ai controller e alle azioni appropriate in un'applicazione Rails. Offre un modo semplice per progettare URL e endpoint per la tua app. Le rotte sono definite nel file config/routes.rb. Ecco alcuni modelli di routing comuni:
-
Rotta radice:
root 'controller_name#action_name' -
Rotta generica:
get '/path', to: 'controller#action' -
Rotta risorsa (genera rotte CRUD standard):
resources :model_name
Azioni dei controller Rails
I controller fungono da intermediari tra modelli e viste ricevendo le richieste in arrivo e rendendo le risposte appropriate. I seguenti esempi illustrano azioni comuni del controller per elencare, mostrare, creare, aggiornare e eliminare risorse:
-
Azione index (elenca tutti gli oggetti):
def index @objects = ModelName.all end -
Azione show (visualizza un singolo oggetto):
def show @object = ModelName.find(params[:id]) end -
Azione new (visualizza il modulo per un nuovo oggetto):
def new @object = ModelName.new end -
Azione create (salva un nuovo oggetto):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Azione edit (visualizza il modulo per modificare un oggetto esistente):
def edit @object = ModelName.find(params[:id]) end -
Azione update (applica modifiche a un oggetto esistente):
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 -
Azione destroy (elimina un oggetto):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Query di base ActiveRecord Rails
ActiveRecord è il sistema di object-relational mapping (ORM) integrato di Rails. Astrae le interazioni con il database e ti consente di lavorare con i record del database come oggetti Ruby nativi. Ecco alcune query ActiveRecord comuni per recuperare e manipolare i dati:
-
Recuperare tutti gli oggetti:
ModelName.all -
Trovare un oggetto per ID:
ModelName.find(id) -
Trovare un oggetto per un valore di campo specifico:
ModelName.find_by(field: value)
Helper ERB Rails
Embedded Ruby (ERB) è un sistema di templating che ti consente di scrivere HTML con codice Ruby incorporato. Gli helper ERB sono metodi che semplificano le attività comuni nelle viste. Ecco alcuni esempi:
-
Creare un link:
<%= link_to "Link Text", path %> -
Visualizzare i messaggi di errore:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Migrazioni Rails
Le migrazioni ti permettono di evolvere il tuo schema di database in modo coerente e verificabile. Utilizzano un DSL Ruby, quindi non devi scrivere SQL grezzo a mano, rendendo le modifiche allo schema indipendenti dal database. Ecco come creare ed eseguire una migrazione:
-
Creare una nuova migrazione:
rails generate migration MigrationName -
Nel file di migrazione generato (
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