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 und Ruby on Rails
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.
Rails-Befehlszeile (CLI)
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:
-
Ein neues Rails-Projekt erstellen:
rails new project_name -
Den Rails-Server starten:
rails server -
Die Rails-Konsole öffnen:
rails console -
Einen neuen Controller generieren:
rails generate controller controller_name action_name -
Ein neues Modell generieren:
rails generate model ModelName field:type -
Datenbankmigrationen ausführen:
rails db:migrate
Rails-Routen
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:
-
Root-Route:
root 'controller_name#action_name' -
Generische Route:
get '/path', to: 'controller#action' -
Ressourcenroute (generiert standardmäßige CRUD-Routen):
resources :model_name
Rails-Controller-Aktionen
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:
-
Index-Aktion (alle Objekte auflisten):
def index @objects = ModelName.all end -
Show-Aktion (ein einzelnes Objekt anzeigen):
def show @object = ModelName.find(params[:id]) end -
New-Aktion (Formular für ein neues Objekt anzeigen):
def new @object = ModelName.new end -
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 -
Edit-Aktion (Formular zum Bearbeiten eines vorhandenen Objekts anzeigen):
def edit @object = ModelName.find(params[:id]) end -
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 -
Destroy-Aktion (ein Objekt löschen):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Rails ActiveRecord-Grundabfragen
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:
-
Alle Objekte abrufen:
ModelName.all -
Ein Objekt nach ID finden:
ModelName.find(id) -
Ein Objekt nach einem bestimmten Feldwert finden:
ModelName.find_by(field: value)
Rails ERB-Helfer
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:
-
Einen Link erstellen:
<%= link_to "Link Text", path %> -
Fehlermeldungen anzeigen:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Rails-Migrationen
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:
-
Eine neue Migration erstellen:
rails generate migration MigrationName -
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