Eine einfache Ruby on Rails-Anwendung erstellen - so funktioniert´s
Lernen Sie die Grundlagen zur Erstellung einer einfachen Ruby on Rails-Anwendung. In diesem Tutorial erhalten Sie eine Schritt-für-Schritt-Anleitung für die Erstellung einer einfachen "Hello world" Anwendung. Dieses Tutorial ist ein Einsteigerhandbuch für Ruby on Rails und wurde für Benutzer ohne vorherige Ruby on Rails-Erfahrung entwickelt.
Anforderungen
- Ein Cloud Server unter Linux (Ubuntu 16.04 oder CentOS 7)
- Ruby on Rails installiert und läuft.
- Wenn Sie eine Firewall haben, müssen Sie den Zugriff auf Port 3000 erlauben.
Dank Startguthaben testen Sie Cloud Server bei IONOS 1 Monat lang kostenlos (oder bis das Guthaben verbraucht ist) und erleben die perfekte Kombination aus Leistung und Sicherheit!
Installieren Sie eine JavaScript Runtime
Sie müssen eine JavaScript-Laufzeit installieren. Beginnen Sie mit der Installation des ExecJS-Juwels, mit dem Sie JavaScript-Code mit Ruby ausführen können:
gem install execjs
Wenn Sie eine bevorzugte Laufzeit haben, können Sie diese als nächstes installieren. Andernfalls werden wir Node.JS für dieses Projekt installieren.
Ubuntu 16.04
Aktualisieren Sie die Pakete Ihres Servers und installieren Sie curl mit den folgenden Befehlen:
sudo apt-get update
sudo apt-get install curl
Laden Sie das Node.js PPA herunter:
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh
Führen Sie den Befehl nodesource_setup.sh aus, um das PPA zum Paket-Cache Ihres Servers hinzuzufügen:
sudo bash nodesource_setup.sh
Dieses Skript aktualisiert den Server automatisch. Es ist nicht erforderlich, apt-get update ein zweites Mal auszuführen.
Installieren Sie Node.js:
sudo apt-get install nodejs
Dadurch wird automatisch auch npm installiert.
Installieren Sie schließlich das build-essential-Paket für npm:
sudo apt-get install build-essential
CentOS 7
Fügen Sie das EPEL-Repository hinzu:
sudo yum install epel-release
Dann installieren Sie Node.JS:
sudo yum install nodejs
Installieren Sie schließlich den Node Package Manager (npm):
sudo yum install npm
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Domain-Check
Das MVC-Design
Ruby on Rails verwendet MVC-basiertes Design. MVC steht für Model/View/Controller und beschreibt die drei Grundkomponenten einer Ruby on Rails App.
Model
Das Modell bezieht sich auf die Datenbank. Alle Daten der Anwendung werden im Modell gespeichert. Rails verwendet standardmäßig SQLite, unterstützt aber auch MySQL und PostgreSQL.
Steuerungen
Die Controller sind eine Reihe von Dateien, die festlegen, welche Aktionen durchgeführt werden sollen. Die Controller speichern und holen bei Bedarf Daten aus dem Modell (Datenbank) und verwenden diese Daten (wie durch Aktionen definiert), um die View zu erstellen.
Die Steuerungen werden über Routen gesteuert. Dies sind die Regeln, die definieren, welche Controller welche Aktionen ausführen. Routen werden in der Datei routes.rb definiert.
View
Die Ansicht ist das Endergebnis, was ein Besucher in einem Browser sieht. Es ist die Antwort auf die Aktionen, die von den Controllern definiert werden - das Ergebnis all Ihrer harten Arbeit am Backend.
Erstellen und Testen der Anwendungsstruktur
Der neue Befehl rails new erstellt eine Dateistruktur für Ihre App. Gehen Sie in das Verzeichnis, in dem Sie Ruby on Rails-Projekte speichern möchten, und verwenden Sie den Befehl:
rails new hello-world
Denken Sie daran, als Rubin-Benutzer angemeldet zu sein.
An dieser Stelle können Sie einen Kurztest durchführen, um sicherzustellen, dass Ruby on Rails korrekt eingerichtet ist und läuft. Wechseln Sie in das neue hello-world-Verzeichnis, das mit dem vorherigen Befehl erstellt wurde:
cd hello-world
Starten Sie den Webserver mit dem Befehl:
bin/rails s --binding=0.0.0.0
Nun sollte zu lesen sein:
[user@localhost blog]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
Testen Sie es, indem Sie auf http://your-ip:3000 gehen, Sie sollten die Startseite der Standardschienen sehen.
Wenn Sie mit dem Testen der Rails-Installation fertig sind, drücken Sie Strg+C, um die Anwendung zu stoppen und zur Befehlszeile zurückzukehren.
Erstellen Sie die Anwendung
Erstellen Sie den Controller und die Aktion
Wir beginnen mit der Generierung eines Controllers namens mainpage:
rails generate controller mainpage
Dadurch werden eine Reihe von Dateien erstellt:
[user@localhost hello-world]$ rails generate controller mainpage
Running via Spring preloader in process 24461
create app/controllers/mainpage_controller.rb
invoke erb
create app/views/mainpage
invoke test_unit
create test/controllers/mainpage_controller_test.rb
invoke helper
create app/helpers/mainpage_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/mainpage.coffee
invoke scss
create app/assets/stylesheets/mainpage.scss
Die erste, die in der Befehlsausgabe (app/controllers/mainpage_controller.rb) aufgeführt ist, ist die, die wir verwenden werden. Öffnen Sie diese Datei zur Bearbeitung:
nano app/controllers/mainpage_controller.rb
Wir werden eine Aktion namens hello hinzufügen. Füge den folgenden Inhalt zu dieser Datei hinzu:
class MainpageController < ApplicationController
def hello
end
end
Speichern und beenden Sie die Datei.
Erstellen der View
Als nächstes erstellen wir eine passende View, auch Hallo genannt:
nano app/views/mainpage/hello.html.erb
Fügen Sie die HTML-Nachricht zu dieser Datei hinzu:
<h1>Hello, world!</h1>
Speichern und beenden Sie die Datei.
Erstellen der Route
Die Route ist eine Regel, die Rails sagt, welcher Controller für diese Anforderung verwendet werden soll. Bearbeiten Sie die Datei routes.rb:
nano config/routes.rb
Füge die line root hinzu: mainpage#hello' unter der ersten Zeile, so dass die Datei wie folgt lautet:
Rails.application.routes.draw do
root to: 'mainpage#hello'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
Diese Zeile teilt Rails mit, dass das Stammverzeichnis / die Aktion unseres Controllers unterstützt.
Testen Sie die Anwendung
Starten Sie den Rails-Server mit dem Befehl erneut:
bin/rails s --binding=0.0.0.0
Dann testen Sie die Anwendung unter http://your-ip:3000. Du wirst die Nachricht "Hello, World!" sehen.