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 garantisce numerosi vantaggi, tra cui:

  • Distribuisca la sua applicazione in pochi secondi con un semplice git push.
  • Utilizzi il suo nome di dominio e benefici della configurazione automatica dei certificati HTTPS per una maggiore sicurezza.
  • Goda della tranquillità grazie a backup automatici, aggiornamenti con un clic e una tariffazione semplice, trasparente e prevedibile.
  • Ottenga prestazioni ottimali e sicurezza avanzata grazie a un'infrastruttura privata e dedicata.

Risparmi tempo e semplifichi la sua vita: bastano 5 minuti per provare la soluzione di 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