Wie man ein Backend für Ruby On Rails aufbaut?
In diesem Tutorial lernen Sie, wie Sie ein Backend für Ruby on Rails mit Back4App erstellen.
Wir werden die wichtigsten Schritte erkunden, um Ihre Rails-Anwendung mit wesentlichen Back4App-Funktionen zu integrieren – wie Datenbankinteraktionen, Cloud-Code-Funktionen, REST- und GraphQL-APIs, Benutzerauthentifizierung und Echtzeitanfragen (Live Queries) – alles läuft auf der Serverseite.
Durch die Nutzung der Programmiersprache Ruby werden Sie eine robuste und skalierbare Architektur aufbauen, die mit dem View-Controller-MVC-Muster in Rails übereinstimmt und Entwicklern ermöglicht, die Entwicklung von Webanwendungen zu beschleunigen.
Sie werden auch entdecken, wie Back4App die Zeit und den Aufwand drastisch reduziert, indem es das Management von Servern und Datenbanken vereinfacht.
Diese automatisierten Funktionen können Sie davor bewahren, einen Webserver manuell einzurichten oder sich mit komplexen Infrastrukturen auseinanderzusetzen.
Am Ende werden Sie über eine flexible und sichere Struktur verfügen, die bereit für die Produktion oder weitere Erweiterungen ist – wie zusätzliche Integrationen und erweiterte benutzerdefinierte Logik.
Egal, ob Sie Webseiten bereitstellen oder datengetriebene Webanwendungen betreiben möchten, Rails und Back4App bieten eine nahtlose Synergie zur Erstellung moderner Lösungen in beliebten Programmiersprachen.
Um dieses Tutorial abzuschließen, benötigen Sie:
- Ein Back4App-Konto und ein neues Back4App-Projekt Erste Schritte mit Back4app. Wenn Sie kein Konto haben, können Sie eines kostenlos erstellen. Befolgen Sie die obige Anleitung, um Ihr Projekt vorzubereiten.
- Eine Ruby on Rails-Entwicklungsumgebung Stellen Sie sicher, dass Ruby installiert ist (vorzugsweise Version 2.7 oder höher) und das Rails-Gem (Rails 6 oder höher). Rails installieren
- Parse Ruby-Client Wenn Sie beabsichtigen, das Parse SDK direkt zu verwenden, können Sie das parse-ruby-client Gem installieren, um Datenoperationen mit Back4App zu verwalten.
- Vertrautheit mit Rails MVC Wenn Sie neu in Ruby on Rails sind, überprüfen Sie die offiziellen Rails-Anleitungen oder ein Anfänger-Tutorial, um die MVC-Architektur des View Controllers von Rails zu verstehen, bevor Sie beginnen.
Stellen Sie sicher, dass diese Voraussetzungen erfüllt sind, bevor Sie beginnen. Wenn Ihr Back4App-Projekt eingerichtet ist und Ihr Rails-Anwendung Gerüst bereit ist, sorgt dies für ein reibungsloses Tutorial-Erlebnis.
Der erste Schritt zur Einrichtung eines serverseitigen Backends für Ihre Rails-Anwendung besteht darin, ein neues Projekt auf Back4App zu erstellen. Wenn Sie dies noch nicht getan haben:
- Melden Sie sich bei Ihrem Back4app-Konto an.
- Klicken Sie auf die Schaltfläche „Neue App“ in Ihrem Back4App-Dashboard.
- Geben Sie Ihrer App einen Namen (z. B. „Rails-Backend-Tutorial“).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Sobald das Projekt erstellt ist, wird es in Ihrem Back4App-Dashboard sichtbar sein. Dieses neue Projekt bildet den Kern aller Backend-Konfigurationen in diesem Tutorial.
Um Datenbankinteraktionen und Echtzeitanfragen zu optimieren, verwendet Back4App die Parse-Plattform. Wenn Sie Ihren Rails-Server direkt mit Parse integrieren möchten, können Sie das parse-ruby-client-Gem installieren. Andernfalls können Sie auf die Standard-REST- oder GraphQL-Endpunkte zurückgreifen.
Rufen Sie Ihre Parse-Schlüssel ab: Gehen Sie in Ihrem Back4App-Dashboard zu den „App-Einstellungen“ oder „Sicherheit & Schlüssel“, um Ihre Anwendungs-ID und REST-API-Schlüssel. Sie erhalten auch Ihre Parse-Server-URL (z. B. https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Fügen Sie das parse-ruby-client-Gem hinzu zu Ihrem Gemfile:
Führen Sie dann aus:
Initialisieren Sie Parse in einem Initialisierer, wie config/initializers/parse.rb:
An diesem Punkt kann Ihre Rails-Anwendung mit Back4App kommunizieren, um Daten zu speichern und abzurufen, benutzerdefinierte Logik zu orchestrieren und mehr. Dieser integrierte Ansatz vereinfacht, wie Ihre Ruby on Rails-App das Backend behandelt.
In vielen Webanwendungen, definieren Sie Ihre Datenstruktur in Rails mit ActiveRecord-Migrationen. Mit Back4App haben Sie auch die Möglichkeit, Ihr Schema direkt im Dashboard zu erstellen. Zum Beispiel, wenn Sie ein Todo-Modell haben:
- Navigieren Sie zu „Datenbank“ in Ihrem Back4App-Dashboard.
- Erstellen Sie eine neue Klasse mit dem Namen „Todo“ und fügen Sie Spalten wie title (String) und isCompleted (Boolean) hinzu.
![Neue Klasse erstellen Neue Klasse erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4App unterstützt String, Number, Boolean, Date, File, Pointer, Relation, Array, GeoPoint, und Polygon. Rails verwaltet diese typischerweise innerhalb seiner Modelldefinitionen, aber Sie können auch Parse erlauben, Spalten automatisch beim ersten Speichern zu erstellen (wenn Sie das Parse SDK oder REST/GraphQL APIs verwenden).
![Spalte erstellen Spalte erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Der KI-Agent von Back4App kann die Erstellung von Schemata automatisieren:
- Öffnen Sie den KI-Agenten von Ihrem Dashboard.
- Beschreiben Sie Ihr Datenmodell (z.B. „Bitte erstellen Sie eine neue ToDo-App mit einem vollständigen Klassenschema.“).
- Lassen Sie den Agenten Ihr Schema generieren.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Wenn Sie sich entscheiden, den parse-ruby-client, zu integrieren, können Sie einen Datensatz wie folgt speichern:
Alternativ können Sie REST-Aufrufe aus Ihrem Rails-Code (oder einem externen Client) verwenden. Zum Beispiel, um ein Todo:
Back4App bietet auch GraphQL an:
Wenn Sie Echtzeit-Updates in Ihrer Rails-Anwendung, können Sie sich von einem Frontend oder einem WebSocket-Client für Live-Abfragen anmelden. Aktivieren Sie Live-Abfragen in Ihren Back4App Servereinstellungen, und verbinden Sie sich dann mit dem wss://YOUR_SUBDOMAIN.b4a.io für einen fortlaufenden Stream von Änderungen. Dies ist hilfreich für dynamische Webanwendungen die sofortige Datenaktualisierungen benötigen.
Sicherheit ist entscheidend in der Entwicklung von Webanwendungen. Back4App bietet Zugriffskontrolllisten (ACLs) und Klassenebene-Berechtigungen (CLPs) an, um die Sichtbarkeit von Daten sowohl auf Objekt- als auch auf Klassenebene zu steuern. Dies hilft sicherzustellen, dass nur authentifizierte oder autorisierte Benutzer sensible Daten lesen/schreiben können.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
- Gehen Sie zur Datenbank in Ihrem Back4App-Dashboard.
- Wählen Sie eine Klasse (z.B. „Todo“).
- Öffnen Sie die CLPs-Registerkarte, um Lese-/Schreibzugriff nach Rollen, authentifizierten Benutzern oder der Öffentlichkeit zu konfigurieren.
Sie können eine ACL für ein Objekt festlegen, sodass nur ein bestimmter Benutzer es lesen oder ändern kann. In Rails mit parse-ruby-client, könnte es so aussehen:
Cloud-Code führt serverseitiges JavaScript aus, was Entwicklern ermöglicht, benutzerdefinierte Logik, Trigger und Validierungen hinzuzufügen, ohne einen eigenen Webserver zu verwalten. Sie möchten möglicherweise zusätzliche Serverlogik behandeln oder Überprüfungen durchführen, bevor Sie Daten speichern.
Unten ist ein Beispiel in JavaScript. Während Ihr Rails-Server die Hauptanwendung verwaltet, können Sie dennoch Cloud-Code verwenden, um Daten zu verarbeiten:
Bereitstellung über die Back4App CLI oder vom Back4App Dashboard. Cloud-Code ist eine bequeme Möglichkeit, Logik zu kapseln, die unter allen Clients geteilt wird, unabhängig davon, welche Programmiersprachen sie verwenden. Mit der Unterstützung von node-basierten Modulen (NPM) können Sie externe Pakete nahtlos integrieren.
Back4App verwaltet Benutzeranmeldungen, Logins und Sitzungen mit der integrierten Benutzerklasse von Parse. Sie können einen Benutzer mit einem REST-Aufruf oder über eines der offiziellen SDKs erstellen.
Sie können Facebook-, Google- oder Apple-Anmeldeflüsse integrieren. Jeder Anbieter hat einen etwas anderen Ansatz, aber das Hauptprinzip besteht darin, Tokens mit Parse auszutauschen. Überprüfen Sie die offiziellen Dokumentation zum sozialen Login für Details, wie Sie diese in Ihre Rails-Anwendung integrieren.
Die Verwendung von Parse für Dateien ist so einfach wie das Hochladen über die Parse-API. Wenn Sie den parse-ruby-client verwenden:
Sie können diese Datei dann einem Objekt anhängen:
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
- E-Mail-Verifizierung aktivieren in Ihrem Back4App-Dashboard unter E-Mail-Einstellungen.
- Passwortzurücksetzung einrichten durch Anpassen der E-Mail-Vorlage und der Domain-Einstellungen.
- E-Mail-Flüsse auslösen automatisch nach der Benutzerregistrierung oder wenn ein Benutzer eine Passwortzurücksetzung anfordert. Dies gewährleistet eine verbesserte Sicherheit und hilft, den gültigen E-Mail-Besitz zu bestätigen.
Wenn Sie Aufgaben wie das Bereinigen von Daten oder das Senden täglicher Zusammenfassungen automatisieren möchten, verwenden Sie Cloud Jobs:
Sie können solche Jobs im Back4App Dashboard unter Servereinstellungen > Hintergrundjobs planen, um täglich oder in gewünschten Intervallen ausgeführt zu werden.
Webhooks ermöglichen es Ihrer Back4App-App, Daten an eine externe URL zu senden, wann immer bestimmte Ereignisse eintreten. Sie können neue oder aktualisierte Objektdaten an ein anderes System weiterleiten – wie Stripe oder Slack.
- Gehen Sie zu Mehr > WebHooks in Ihrem Back4App-Dashboard.
- Fügen Sie einen neuen Webhook hinzu der auf Ihre externe URL zeigt (z. B. eine Route in Ihrem Rails-Controller).
- Geben Sie das Ereignis an an, das den Webhook auslöst.
![Webhook hinzufügen Webhook hinzufügen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Wenn Sie möchten, können Sie auch einen Webhook aus dem Cloud Code auslösen, indem Sie eine HTTP-Anfrage in einer beforeSave- oder afterSave-Funktion machen.
![BeforeSave WebHook BeforeSave WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
Die Back4App Admin App bietet eine benutzerfreundliche Möglichkeit für nicht-technische Teams oder Kunden, CRUD-Operationen auf Ihren Back4App-Daten durchzuführen. Diese Schnittstelle beseitigt die Notwendigkeit für direkte Codeänderungen oder die Nutzung des Parse Dashboards für grundlegende Aufgaben.
Sie können die Admin App aktivieren von Ihrem Dashboard aus, indem Sie zu Mehr > Admin App gehen und auf Admin App aktivieren klicken.
![Admin-App aktivieren Admin-App aktivieren](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Sobald aktiviert, können Sie:
- Daten erstellen und verwalten, ohne Abfragen zu schreiben.
- Protokolle überwachen, Hintergrundjobs planen und Push-Benachrichtigungen verwalten (falls aktiviert).
- Rollenbasierten Zugriff für Teammitglieder bereitstellen, um sichereres Bearbeiten zu ermöglichen.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Herzlichen Glückwunsch! Sie haben gelernt, wie man ein Backend für Ruby on Rails mit Back4App erstellt. In diesem Tutorial haben Sie:
- Ein Rails-Projekt konfiguriert um mit Back4App über REST, GraphQL oder den Parse Ruby Client zu interagieren.
- Sichere Datenbankinteraktionen einrichten unter Verwendung von Klassenschemas, ACLs, CLPs und optionalen Live-Abfragen.
- Benutzerauthentifizierung integriert mit E-Mail-Verifizierung und Passwortzurücksetzungen.
- Cloud-Code bereitgestellt für benutzerdefinierte Logik, Trigger und geplante Aufgaben.
- Datei-Uploads verwaltet, Webhooks genutzt und das Admin-Panel erkundet.
Durch die Kombination der MVC-Architektur von Ruby on Rails mit dem robusten Funktionsumfang von Back4App kann Ihre Rails-Anwendung nahtlos skalieren.
Sie sparen erheblich Zeit bei der Verwaltung der Infrastruktur, sodass Sie sich auf den Aufbau von Webanwendungen mit verfeinerten Benutzererfahrungen und zuverlässiger serverseitiger Logik konzentrieren können.
- Erweitern Sie Ihre Rails-App durch Hinzufügen komplexerer Beziehungen, Caching-Strategien oder fortgeschrittener Integrationen.
- Drittanbieter-APIs integrieren (wie Zahlungs-Gateways) und Cloud-Code für tiefere Webanwendungsentwicklung nutzen.
- Die offizielle Back4App-Dokumentation erkunden für erweiterte Sicherheit, Leistungsoptimierung, Protokollanalyse und mehr.
- Mit Echtzeitfunktionen experimentieren um Chat-Apps oder kollaborative Plattformen zu erstellen – ideal für Daten, die sich häufig ändern.
Mit diesen Grundlagen können Sie Ihre Rails-Server für moderne Webanwendungen schnell entwickeln, iterieren und skalieren. Viel Spaß beim Programmieren!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)