Ruby: Rails-Controller-Aktionen

Diese Dokumentation ist Teil des Ruby lernen-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Ein umfassender Leitfaden zu Ruby und Rails.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Ruby Cloud Lösung mit zahlreichen Vorteilen, darunter:

  • Deployen Sie Ihre Anwendung in Sekunden mit einem einfachen git push.
  • Verwenden Sie Ihre eigene Domain und profitieren Sie von der automatischen Einrichtung von HTTPS-Zertifikaten für erhöhte Sicherheit.
  • Genießen Sie sorgenfreie Nutzung durch automatische Backups, One-Click-Updates sowie eine einfache, transparente und vorhersehbare Preisgestaltung.
  • Erzielen Sie optimale Performance und starke Sicherheit dank einer privaten, dedizierten Infrastruktur.

Sparen Sie Zeit und vereinfachen Sie Ihren Alltag: Es dauert nur 5 Minuten, um die Ruby Cloud Hosting Lösung von Stackhero auszuprobieren!

Controller dienen als Vermittler zwischen Modellen und Ansichten, indem sie eingehende Anfragen empfangen und die entsprechenden Antworten rendern. Die folgenden Beispiele veranschaulichen gängige Controller-Aktionen zum Auflisten, Anzeigen, Erstellen, Aktualisieren und Löschen von Ressourcen:

  1. Index-Aktion (alle Objekte auflisten):

    def index
      @objects = ModelName.all
    end
    
  2. Show-Aktion (ein einzelnes Objekt anzeigen):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. New-Aktion (Formular für ein neues Objekt anzeigen):

    def new
      @object = ModelName.new
    end
    
  4. Create-Aktion (ein neues Objekt speichern):

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. Edit-Aktion (Formular zum Bearbeiten eines vorhandenen Objekts anzeigen):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. Update-Aktion (Änderungen an einem vorhandenen Objekt anwenden):

    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. Destroy-Aktion (ein Objekt löschen):

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