Click here to load reader

Ruby On Rails - 2. Rails Introduction

  • View
    9.549

  • Download
    5

Embed Size (px)

DESCRIPTION

A 180 min introduction on Ruby on Rails programming with hands-on exercises by Christian Feser, Michael Kram, Jakob Schröter and Marc Seeger Contents: Ruby On Rails Framework MVC Pattern Sample Project: OnlineShop Associations Migrations Views ERB-Templates Layouts/Partials Helper Controller Webservices Validators

Text of Ruby On Rails - 2. Rails Introduction

  • 1. Ruby on Rails Web Development that doesnt hurt Dezember 2008 www.xing.com/profile/Christian_Feser www.xing.com/profile/Michael_Kram www.xing.com/profile/Jakob_Schroeter www.Marc-Seeger.de
  • 2. 2 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger agenda Ruby on Rails?! Projekt: OnlineShop Datenmodell Views Controller Diskussion
  • 3. Grundlagen
  • 4. 4 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Einordnung Java Ruby PHP Rails CakePHP Spring Merb Symfony Struts Sinatra Zend
  • 5. 5 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Entwicklung David Heinemeier Hansson Version 1.0: 2005 Version 2.0: 2007 Aktuell Version: 2.2.2
  • 6. 6 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Referenzprojekte http://rails100.pbwiki.com/
  • 7. 7 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger MVC - Paradigma Model View Controller Active Action Action Record View Controller
  • 8. 8 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger MVC - Paradigma http://wiki.rubyonrails.org/rails/pages/UnderstandingRailsMVC
  • 9. 9 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Konvention statt Konfiguration Ordner- struktur Namens- gebung
  • 10. 10 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Konvention statt Konfiguration models/order.rb views/orders/index.html.erb controllers/orders_controller.rb Tabelle: orders
  • 11. 11 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger DRY-Prinzip Dont Repeat Yourself Dont Repeat Yourself Dont Repeat Yourself Dont Repeat Yourself Dont Repeat Yourself
  • 12. Rails installieren
  • 13. 13 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Installation - Manuell 1 Ruby installieren 2 RubyGems installieren 3 Rails installieren gem install rails http://www.rubyonrails.org/down
  • 14. 14 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Installation One-Click 1 InstantRails installieren http://instantrails.rubyforge.org
  • 15. 15 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Entwicklungsumgebung TextMate Aptana RadRails (stand-alone/eclipse plugin) NetBeans
  • 16. Startschuss Projekt: OnlineShop
  • 17. 17 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Lokales Entwicklungssystem InstantRails NetBeans IDE Firefox Extensions SQLite Manager und Firebug Verknpfung zu Rails API Docs Verknpfung zu InstantRails Verzeichnis
  • 18. 18 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Neues Rails-Projekt anlegen 1. Entwicklungsumgebung NetBeans starten 2. Im Men File > New Project 3. Ruby on Rails Application auswhlen 4. Projektname OnlineShop vergeben 5. Database Adapter sqlite3 auswhlen (kein Username, Password) 6. Rails Version 2.2.2 whlen
  • 19. 19 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Angelegte Verzeichnisstruktur app/ controller/ helpers/ models/ views/ config/ db/ public/ images javascripts stylesheets
  • 20. 20 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Umgebungseinstellungen Entwicklungsumgebung (development) Ausfhrliche Fehlermeldungen, Caching deaktiviert, ignoriert E-Mail-Versand Produktionsumgebung (production) Allgemeine Fehlermeldungen, Caching aktiviert Testumgebung (test) zum Ausfhren von Testklassen, ausfhrliche Fehlermeldungen, Caching deaktiviert
  • 21. 21 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Namenskonventionen variables_in_lower_case :symbol (nur ein Verweis auf einen String) ClassName ModuleName tables_names (im Plural) Englische Bezeichnungen
  • 22. 22 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Generatoren script/generate controller (Controller, Views, Helper) migration (Migration-Datei fr DB Update) model (Migration-Datei fr Tabellenerstellung) resource (leeres Model, leerer Controller) scaffold (Model, Migration, Controller + Actions, Views) script/destroy
  • 23. Anwendungs-Anforderungen Projekt: OnlineShop
  • 24. 24 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Anwendungs-Anforderungen Shop bentigt: People Items Orders
  • 25. 25 Christian Feser, Michael Kram, Jakob Schrter, Marc Seeger Grundgerst einrichten 1. Rechtsklick auf das Projekt > Generate 2. Auswahl scaffold 3. Modelname (im Singular) eingeben und Angabe der Attribute mit field:type Types: string, text, integer, float, decimal,