Ruby on Rails Einführung Ruby (Sprache) auf Rails (Webframework) MVC Architektur Konvention statt Konfiguration DRY-Prinzip Weniger Code Gute Testbarkeit Ruby und Gems Open Source Ruby Dynamisch Typisierte Sprache Rein objektorientiert Viele Einflüsse: Perl, Smalltalk, LISP Wichtige Elemente: Introspektion Code-Blöcke und Lambdas Erweiterung von Klassen at runtime Rails MVC Controller Kontrollfluss Steuern (Action) HTTP-Request Bearbeiten Aufruf per Reflection => keine Konfiguration Views Erzeugen Der View Daten über Instanzvariablen bereit stellen. Controller Zugriff auf Parameter, Session, Cookies über params Hash Filter, Filterketten (Aspektorientierte Programmierung) Login, Autorisierung etc before_action :require_login Layout Zuweisung Applikation Controller Action Dynamisch bestimmen Model Domainobjekte Active Record Pattern Tabellenname = plural (Modelname) Beziehen Attribute aus Datenbanktabelle “Getter” und “Setter” werden dynamisch erzeugen Modell-Relationen deklarativ: belongs_to, has_many Vererbung: Single Table Inheritance Assoziationen 1:1 has_one 1:N has_many N:M has_many_and_belongs_to_many alternativ has_many :though Bsp: book.chapters.first.title Views Präsentation von Modelling in HTML-Templates Daten über Instanzvariablen Embedded Ruby <%> REST Rails Style Datenbank Migrationen Datenbank unabhängige Definition des Schemas Versionskontroller Up-/Down-Migration auf bestimmte Version (jetzt eher change) Daten bleiben erhalten bzw können modifiziert werden. Live Coding Session Die berühmte 15 minute blog application Erfahren Sie mehr auf www.janbussieck.com