Ruby On Rails „Schritt für Schritt“

Ruby On Rails „Schritt für Schritt“

Hallo und Willkommen, in dieser Videoreihe werden wir uns das Framework Ruby On Rails Schritt für Schritt ansehen. Eventuell fällt es dir leicht Applikationen mit Hilfe eines Tutorials nachzubauen, aber viel wichtiger wäre, dass du verstehst warum jetzt genau dieser Controller oder jenes Model während des Entwicklungsprozesses überhaupt erstellt wird. Denn nur wenn du das Warum verstehst, kannst du auch zukünftig deine eigenen Ideen als App umsetzen.

TEIL 01 – App erstellen – 05:23 min

  • Cloud9 Container einrichten
  • Neue Ruby On Rails Applikation erstellen
  • Server starten
  • Willkommensgruß unserer App

TEIL 02 – Controller erstellen – 09:31 min

  • Controller über Terminal generieren
  • Dateistruktur im Detail
  • Zugriff des Controllers

TEIL 03 – Actions erstellen – 03:32 min

  • Verhalten der Actions
  • Auswirkung auf routes.rb

TEIL 04 – Rubycode verwenden – 05:41 min

  • Rechenoperation
  • Embedded Ruby

TEIL 05 – Variablen – 08:19 min

  • Lokale vs. Globale
  • Datetime Beispiel

01 – App erstellen

Einer der schnellsten und einfachsten Wege mit Rails zu programmieren ist über die kostenfreie online Entwicklungsumgebung Cloud9. Hier erstellen wir uns zuerst einen neuen Container und wählen Ruby On Rails aus. Cloud9 übernimmt für uns dann die Einrichtung und die Erstellung einer neuen Ruby On Rails Applikation innhalb eines Linux Containers. Nachdem der Server gestartet ist, zeigt uns der Terminal die Internetadresse zu unserer App an. Wir klicken auf den Link und erhalten den bereits angesprochenen Willkommensgruß.

Was passiert aber hier eigentlich im Hintergrund genau?
Eine neue Ruby On Rails App wird mit „rails new appname“ über den Terminal generiert. Danach erstellt sich die komplette Struktur der Applikation, dies ist also immer unser Ausgangszustand. Um unser Projekt nun im Browser begutachten zu können, benötigen wir einen Server, denn später soll unsere Applikation ja auch im Internet zu finden sein. Der Server kann mit dem Befehl rails server oder rails s gestartet werden und danach treffen wir den standardmäßigen Willkommensgruß von Rails an.

Wir können unsere App nun zwar sehen, aber es ist wichtig zu verstehen, dass wir uns im Entwicklungsmodus (Developmentmode) befinden. Dies bedeutet von außen kann auf unsere Anwendung eigentlich noch nicht zugegriffen werden, dafür müssen wir die Applikation dann später auf einen Server wie beispielsweise Heroku übertragen. Dort können dann auch unsere Nutzer auf unsere App zugreifen.

Viel können wir zum aktuellem Zeitpunkt mit unserer App nicht anfangen, denn diese besitzt wirklich nur den Startbildschirm. Doch sehen wir uns die Struktur der Ruby On Rails Applikation einmal genauer an.

Im nächsten Video erstellen wir uns einen eigenen Controller und können damit dann auch Unterseiten generieren. Bis dahin.

Links
Cloud9 – http://c9.io


02 – Controller Erstellen

In Teil 1 von „Ruby On Rails – Schritt für Schritt“, haben wir eine App erstellt und uns die Struktur etwas genauer angesehen. Nun werden wir unseren eigenen Controller erstellen und damit dann Unterseiten generieren.

Was ist überhaupt ein Controller? Ein Controller oder auch Action Controller ist die erste Anlaufstelle direkt nach dem Routing, dies bedeutet, dass der Controller für die Anfrage und für das Produzieren der richtigen Ausgabe verantwortlich ist. Darüber Hinaus kann der Controller auch als Zwischenstufe von Model und View gesehen werden.

Zu den Komponenten Model und View kommen wir später in unserer Videoreihe. Aktuell ist für uns nur einmal der Controller interessant und diesen erstellen wir jetzt einmal.

Im Terminal ergeben wir den Befehl, um einen neuen Controller zu erstellen, ein:

rails generate controller Posts index

rails generate = Befehl um den Generator aufzurufen, kann auch mit „g“ abgekürzt werden
controller = Name des Generators (Mögliche: models, controllers, database migrations, and unit tests)
Posts = Name des Controllers (immer in der Mehrzahl schreiben)
index = Action innerhalb des Controllers – kann auch später noch erstellt werden

Welche Dateien werden beim Erstellen eines Controllers automatisch generiert?
create app/controllers/posts_controller.rb
route get ‚posts/index‘
create app/views/posts
create app/views/posts/index.html.erb
create test/controllers/posts_controller_test.rb
create app/helpers/posts_helper.rb
create app/assets/javascripts/posts.coffee
create app/assets/stylesheets/posts.scss

Der eben erstelle Controller hat eine Index Action, diese Action wurde von uns beim Erstellen des Generators mit angegeben. Wir können also innerhalb unserer Applikation auf die posts/index URL zugreifen und hier finden wir eine Seite mit dem Inhalt. Doch wie genau funktioniert dies eigentlich im Detail?

URL Anfrage -> routes.rb route  -> Posts Controller -> index Action -> index.html.erb View


03 – Actions erstellen


04 – Rubycode verwenden

In den letzten beiden Teilen von „Ruby On Rails – Schritt für Schritt“, haben wir unseren eigenen Controller erstellt und damit Unterseiten generiert. Nun werden wir zum ersten mal Rubycode innerhalb unseres Projekts verwenden. Los gehts!

Wenn wir uns im Ordner app/views/post/ die Datei index.html.erb genauer ansehen, dann stellen wir fest, dass diese Datei sich von einer gewöhnlichen HTML Datei unterscheidet, denn diese endet auf „.erb“. Die Dateiendung .erb steht für embedded ruby und dies heißt für uns, dass wir hier sowohl HTML- als auch Ruby-Code einfügen können.
Fügen wir doch einmal eine simple Addition zweier Zahlen ein und sehen wir was passiert.
<%= 20 + 3 %>
Da die Rechenoperation in Ruby Code geschrieben ist wird uns in der View der Applikation das Ergebnis ausgegeben.
Erweitern wir die Berechnung einmal und umgeben wir sie von einer Schleife:
<% 3.times do %>
    <p>Hallo</p>
    <% 20 + 3 %>
<% end %>

 

Schnell wird deutlich, dass der Code auf dem Server als HTML dargestellt wird. Dies sehen wir auch wenn wir uns den Seitenquelltext anzeigen lassen. Wir können also Ruby Code in unsere View einfügen und das Ruby Framework (Rails) kümmert sich dann um die Umwandlung und Darstellung in Form von HTML.
Soviel zur ersten Verwendung von Ruby-Code innerhalb einer Rails Applikation. Im nächsten Kapitel werde ich dir zeigen wie du Variablen verwenden kannst und dir dadurch viel arbeit ersparst.

05 – Variablen

In diesem Video zeige ich dir wie du Variablen verwenden kannst und dir dadurch viel Arbeit ersparst.

Im Posts Controller erstellen wir nun eine Variable
huhu = "Huhu, wie gehts?"
Diese Art der Variable wird auch lokale Variable genannt, denn wir können auf sie nur innerhalb unserer Methode zugreifen. Das bedeutet für uns auch, dass ein Zugriff in der View Datei nicht möglich ist. Eine Instanzvariable ermöglicht uns den Zugriff dieses Strings in unserer posts/index.html.erb View
<h2><% @huhu %></h2>

 

Es ist wichtig zu verstehen, dass die Instanzvariable nur für die Index Methode gültig ist, haben wir in unserem Posts Controller also noch weitere Methoden wie beispielsweise show, edit oder delete dann müssen wir für jede dieser Methoden auch die Instanzvariable entsprechend zuweisen.
    @date = Time.now
    @date = Time.now.strftime("%d.%m.%Y")
Soviel zum Unterschied von Variablen und Instanzvariablen in Rails. Im nächsten Video werden wir das Routing der App genauer unter die Lupe nehmen.

 

Komplette Playlist bei YouTube: https://www.youtube.com/playlist?list=PLVGTm2ujeFKQlSap8afBeOrkja_bggiRz