Ruby: Ruby lernen

Ein umfassender Leitfaden zu Ruby und Rails

👋 Willkommen bei der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Ruby Cloud Lösung, die zahlreiche Vorteile bietet, darunter:

  • Deployen Sie Ihre Anwendung in Sekundenschnelle mit einem einfachen git push.
  • Verwenden Sie Ihren eigenen Domainnamen und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
  • Genießen Sie beruhigende automatische Backups, Ein-Klick-Updates und eine einfache, transparente und vorhersehbare Preisgestaltung.
  • Erhalten Sie optimale Performance und robuste Sicherheit dank einer privaten und dedizierten VM.

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

Ruby ist eine interpretierte, hochentwickelte Programmiersprache, die für Einfachheit und Produktivität entwickelt wurde. Ihre elegante Syntax ermöglicht es Entwicklern, mehr mit weniger Code zu erreichen, während sie prozedurale, objektorientierte und funktionale Programmierparadigmen unterstützt.

Ruby on Rails, oft einfach Rails oder RoR genannt, ist ein robustes Webanwendungs-Framework, das in Ruby geschrieben ist. Basierend auf dem Model-View-Controller (MVC)-Muster fördert Rails Konvention vor Konfiguration und betont das Don't Repeat Yourself (DRY)-Prinzip, was die Entwicklung komplexer Webanwendungen einfacher und effizienter macht.

Die Rails-Befehlszeilenschnittstelle (CLI) ist ein leistungsstarkes Werkzeug zur Verwaltung Ihrer Rails-Anwendung. Sie enthält Befehle zum Erstellen neuer Projekte, Starten des Servers, Zugriff auf die Anwendung über die Konsole und Generieren verschiedener Komponenten wie Modelle und Controller. Hier sind einige wesentliche Befehle, die jeder Rails-Entwickler kennen sollte:

  1. Ein neues Rails-Projekt erstellen:

    rails new project_name
    
  2. Den Rails-Server starten:

    rails server
    
  3. Die Rails-Konsole öffnen:

    rails console
    
  4. Einen neuen Controller generieren:

    rails generate controller controller_name action_name
    
  5. Ein neues Modell generieren:

    rails generate model ModelName field:type
    
  6. Datenbankmigrationen ausführen:

    rails db:migrate
    

Routing verbindet eingehende Anfragen mit den entsprechenden Controllern und Aktionen in einer Rails-Anwendung. Es bietet eine einfache Möglichkeit, URLs und Endpunkte für Ihre App zu entwerfen. Routen werden in der Datei config/routes.rb definiert. Hier sind einige gängige Routing-Muster:

  1. Root-Route:

    root 'controller_name#action_name'
    
  2. Generische Route:

    get '/path', to: 'controller#action'
    
  3. Ressourcenroute (generiert standardmäßige CRUD-Routen):

    resources :model_name
    

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
    

ActiveRecord ist das integrierte Object-Relational Mapping (ORM)-System von Rails. Es abstrahiert Datenbankinteraktionen und ermöglicht es Ihnen, mit Datenbankeinträgen als native Ruby-Objekte zu arbeiten. Hier sind einige gängige ActiveRecord-Abfragen zum Abrufen und Manipulieren von Daten:

  1. Alle Objekte abrufen:

    ModelName.all
    
  2. Ein Objekt nach ID finden:

    ModelName.find(id)
    
  3. Ein Objekt nach einem bestimmten Feldwert finden:

    ModelName.find_by(field: value)
    

Embedded Ruby (ERB) ist ein Templating-System, das es Ihnen ermöglicht, HTML mit eingebettetem Ruby-Code zu schreiben. ERB-Helfer sind Methoden, die häufige Aufgaben in Ansichten vereinfachen. Hier sind einige Beispiele:

  1. Einen Link erstellen:

    <%= link_to "Link Text", path %>
    
  2. Fehlermeldungen anzeigen:

    <% @object.errors.full_messages.each do |message| %>
      <div><%= message %></div>
    <% end %>
    

Migrationen ermöglichen es Ihnen, Ihr Datenbankschema auf konsistente und überprüfbare Weise weiterzuentwickeln. Sie verwenden ein Ruby DSL, sodass Sie kein rohes SQL von Hand schreiben müssen, was Ihre Schemaänderungen datenbankunabhängig macht. So erstellen und führen Sie eine Migration aus:

  1. Eine neue Migration erstellen:

    rails generate migration MigrationName
    
  2. In der generierten Migrationsdatei (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