Lernen Sie die Grund­la­gen zur Er­stel­lung einer einfachen Ruby on Rails-Anwendung. In diesem Tutorial erhalten Sie eine Schritt-für-Schritt-Anleitung für die Er­stel­lung einer einfachen "Hello world" Anwendung. Dieses Tutorial ist ein Ein­stei­ger­hand­buch für Ruby on Rails und wurde für Benutzer ohne vorherige Ruby on Rails-Erfahrung ent­wi­ckelt.

An­for­de­run­gen

  • Ein Cloud Server unter Linux (Ubuntu 16.04 oder CentOS 7)
  • Ruby on Rails in­stal­liert und läuft.
  • Wenn Sie eine Firewall haben, müssen Sie den Zugriff auf Port 3000 erlauben.
Free Cloud Server Trial
Virtual Private Server auf En­ter­pri­se-Level
  • KVM-basierte vServer für Ent­wick­ler
  • In­te­griert in die IONOS Compute Engine
  • Ska­lier­bar bis zur En­ter­pri­se-Cloud

In­stal­lie­ren Sie eine Ja­va­Script Runtime

Sie müssen eine Ja­va­Script-Laufzeit in­stal­lie­ren. Beginnen Sie mit der In­stal­la­ti­on des ExecJS-Juwels, mit dem Sie Ja­va­Script-Code mit Ruby ausführen können:

gem install execjs

Wenn Sie eine be­vor­zug­te Laufzeit haben, können Sie diese als nächstes in­stal­lie­ren. An­dern­falls werden wir Node.JS für dieses Projekt in­stal­lie­ren.

Ubuntu 16.04

Ak­tua­li­sie­ren Sie die Pakete Ihres Servers und in­stal­lie­ren 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 node­sour­ce_setup.sh aus, um das PPA zum Paket-Cache Ihres Servers hin­zu­zu­fü­gen:

sudo bash nodesource_setup.sh
Hinweis

Dieses Skript ak­tua­li­siert den Server au­to­ma­tisch. Es ist nicht er­for­der­lich, apt-get update ein zweites Mal aus­zu­füh­ren.

In­stal­lie­ren Sie Node.js:

sudo apt-get install nodejs

Dadurch wird au­to­ma­tisch auch npm in­stal­liert.
In­stal­lie­ren Sie schließ­lich das build-essential-Paket für npm:

sudo apt-get install build-essential

CentOS 7

Fügen Sie das EPEL-Re­po­si­to­ry hinzu:

sudo yum install epel-release

Dann in­stal­lie­ren Sie Node.JS:

sudo yum install nodejs

In­stal­lie­ren Sie schließ­lich den Node Package Manager (npm):

sudo yum install npm
Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung
Domain-Check

Das MVC-Design

Ruby on Rails verwendet MVC-basiertes Design. MVC steht für Model/View/Con­trol­ler und be­schreibt die drei Grund­kom­po­nen­ten einer Ruby on Rails App.

Model

Das Modell bezieht sich auf die Datenbank. Alle Daten der Anwendung werden im Modell ge­spei­chert. Rails verwendet stan­dard­mä­ßig SQLite, un­ter­stützt aber auch MySQL und Post­greS­QL.

Steue­run­gen

Die Con­trol­ler sind eine Reihe von Dateien, die festlegen, welche Aktionen durch­ge­führt werden sollen. Die Con­trol­ler speichern und holen bei Bedarf Daten aus dem Modell (Datenbank) und verwenden diese Daten (wie durch Aktionen definiert), um die View zu erstellen.

Die Steue­run­gen werden über Routen gesteuert. Dies sind die Regeln, die de­fi­nie­ren, welche Con­trol­ler welche Aktionen ausführen. Routen werden in der Datei routes.rb definiert.

View

Die Ansicht ist das End­ergeb­nis, was ein Besucher in einem Browser sieht. Es ist die Antwort auf die Aktionen, die von den Con­trol­lern definiert werden - das Ergebnis all Ihrer harten Arbeit am Backend.

Erstellen und Testen der An­wen­dungs­struk­tur

Der neue Befehl rails new erstellt eine Da­tei­struk­tur für Ihre App. Gehen Sie in das Ver­zeich­nis, in dem Sie Ruby on Rails-Projekte speichern möchten, und verwenden Sie den Befehl:

rails new hello-world
Hinweis

Denken Sie daran, als Rubin-Benutzer an­ge­mel­det zu sein.

An dieser Stelle können Sie einen Kurztest durch­füh­ren, um si­cher­zu­stel­len, dass Ruby on Rails korrekt ein­ge­rich­tet ist und läuft. Wechseln Sie in das neue hello-world-Ver­zeich­nis, das mit dem vor­he­ri­gen 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 Start­sei­te der Stan­dard­schie­nen sehen.

Wenn Sie mit dem Testen der Rails-In­stal­la­ti­on fertig sind, drücken Sie Strg+C, um die Anwendung zu stoppen und zur Be­fehls­zei­le zu­rück­zu­keh­ren.

Erstellen Sie die Anwendung

Erstellen Sie den Con­trol­ler und die Aktion

Wir beginnen mit der Ge­ne­rie­rung eines Con­trol­lers 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 Be­fehls­aus­ga­be (app/con­trol­lers/mainpage_con­trol­ler.rb) auf­ge­führt ist, ist die, die wir verwenden werden. Öffnen Sie diese Datei zur Be­ar­bei­tung:

nano app/controllers/mainpage_controller.rb

Wir werden eine Aktion namens hello hin­zu­fü­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 Con­trol­ler für diese An­for­de­rung verwendet werden soll. Be­ar­bei­ten 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 Stamm­ver­zeich­nis / die Aktion unseres Con­trol­lers un­ter­stü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.

Zum Hauptmenü