Ruby: Azioni dei controller Rails

Questa documentazione fa parte della guida Imparare Ruby. Consulta la guida completa qui: 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!

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:

  1. Azione index (elenca tutti gli oggetti):

    def index
      @objects = ModelName.all
    end
    
  2. Azione show (visualizza un singolo oggetto):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. Azione new (visualizza il modulo per un nuovo oggetto):

    def new
      @object = ModelName.new
    end
    
  4. 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
    
  5. Azione edit (visualizza il modulo per modificare un oggetto esistente):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. 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
    
  7. Azione destroy (elimina un oggetto):

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