# 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.

## 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:

```none
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:

```none
sudo apt-get update
sudo apt-get install curl
```

Laden Sie das Node.js PPA herunter:

```none
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:

```none
sudo bash nodesource_setup.sh
```

Hinweis Dieses Skript aktualisiert den Server automatisch. Es ist nicht erforderlich, apt-get update ein zweites Mal auszuführen.

Installieren Sie Node.js:

```none
sudo apt-get install nodejs
```

Dadurch wird automatisch auch npm installiert. Installieren Sie schließlich das build-essential-Paket für npm:

```none
sudo apt-get install build-essential
```

### CentOS 7

Fügen Sie das EPEL-Repository hinzu:

```none
sudo yum install epel-release
```

Dann installieren Sie Node.JS:

```none
sudo yum install nodejs
```

Installieren Sie schließlich den Node Package Manager (npm):

```none
sudo yum install npm
```

## 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:

```none
rails new hello-world
```

Hinweis 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:

```none
cd hello-world
```

Starten Sie den Webserver mit dem Befehl:

```none
bin/rails s --binding=0.0.0.0
```

Nun sollte zu lesen sein:

```none
[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.

[![Bild: You’re on Rails](https://www.ionos.de/digitalguide/fileadmin/_processed_/3/9/csm_rails-splash-page_c868455f3f.webp "You’re on Rails")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2021/rails-splash-page.jpg) You're on Rails 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:

```none
rails generate controller mainpage
```

Dadurch werden eine Reihe von Dateien erstellt:

```none
[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:

```none
nano app/controllers/mainpage_controller.rb
```

Wir werden eine Aktion namens hello hinzufügen. Füge den folgenden Inhalt zu dieser Datei hinzu:

```none
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:

```none
nano app/views/mainpage/hello.html.erb
```

Fügen Sie die HTML-Nachricht zu dieser Datei hinzu:

```none
<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:

```none
nano config/routes.rb
```

Füge die line root hinzu: mainpage#hello’ unter der ersten Zeile, so dass die Datei wie folgt lautet:

```none
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:

```none
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.


This is a markdown version of: [https://www.ionos.de/digitalguide/websites/web-entwicklung/ruby-on-rails-anwendung-erstellen/](https://www.ionos.de/digitalguide/websites/web-entwicklung/ruby-on-rails-anwendung-erstellen/) for AI/LLM consumption.