An Introduction to Ruby On Rails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    An Introduction to Ruby On Rails - Presentation Transcript

    1. Ruby On Rails A Web Application Framework 1
    2. Überblick Wiederholgung Ruby Einführung in Rails Installation und Einrichtung “Hello World” Real World Example Weitere Features Ressourcen 2
    3. Wiederholung Ruby 3
    4. Ruby? Ruby ist eine vollständig objektorientierte Skriptsprache Das Beste von Perl und Python Public release 1995 durch Yukihiro Matsumoto, a.k.a “Matz” 4
    5. Wichtigste Eigenschaften Interpretierte Skriptsprache Aktuell ist Ruby 1.8.2 Komplett Objekt-Orientiert Dynamische Typbindung Verfügbar über GPL oder eigene Lizenz 5
    6. 5.times do puts “ruby ist cool”.upcase end Output: RUBY IST COOL RUBY IST COOL RUBY IST COOL RUBY IST COOL RUBY IST COOL 6
    7. Grundregeln Kein Semikolon am Ende der Zeile (bei einer Anweisung pro Zeile) Keine geschweiften Klammern zur Deklaration vom Blöcken, sondern “xxxx......end” Keine Deklaration von Variablen! () können bei Methoden weggelassen werden 7
    8. a=9 b=1 c=a+b print c ; c = “Hi”; print c d = c.length + c.index(”i”) c = -99.abs ein_string = String.new(”HALLO”) auch_ein_string = ‘a’ + “bcdefg #{c}” 8
    9. Funktionen/Methoden Einleitung mit def funktions_name(argument) .... end implizites return des letzten Ausdruckes (wie überall in Ruby) 9
    10. def my_func puts “abc” 99 end def my_func2(a, b) return a+b end def a; “a”; end ergebnis = my_func(1,2) a() 10
    11. class Person @name #Instanz-var @alter #Instanz-var @@anzahl_auf_der_welt #Klassen-var MAX_ALTER = 100 #Konstante def check_alter(alter) #Instanz-meth alter < Person::MAX_ALTER end end a = Person.new if a.check_alter(90) puts “jung genug” end 11
    12. class Person def Person.how_many @@anzahl_auf_der_welt end end anzahl = Person.how_many 12
    13. Iteratoren Iteratoren sind Funktionen, die Blocks repetitiv aufrufen Finden dort Einsatz, wo andere Sprachen normalerweise Schleifen nutzen würden Intuitiv zu benutzten 13
    14. 5.times { puts “Hi”} a = [1, 2] a.each do |the_one| print the_one end [”H”, “A”, “L”].collect {|x| x.succ} --> [”I”, “B”, “M”] [1, 2, 3, 5, 7, 9].find {|v| v*v > 30} --> 7 14
    15. begin funktion_die_schief_laufen_kann(1,2,”aaa”) rescue StandardError puts “Fehler aufgetreten” ensure puts “wird immer ausgeführt” end 15
    16. Ruby on Rails Einführung 16
    17. Ruby on Rails Framework für Web-Anwendungen Model-View-Controller Ansatz Nur eine Konfigurationsdatei: Datenbank Zugangsdaten Convention over configuration 17
    18. Model-View-Controller Design-Pattern für Programme mit Interaktion mit dem Benutzer KLassen werden in drei Gruppen eingeteilt, die sich auf ihre jeweillige Aufgabe spezialisieren Vorteil: Entkopplung und somit Wiederverwendbarkeit 18
    19. Model Klasse, die das Business-Objekt abbildet mit allen seinen Funktionalitäten BSP: Klasse Benutzer Klasse Buch 19
    20. View Eigentliche Darstellung für den User Keine Funktionalität, nur Design +Anzeige BSP: Template, dass alle Bücher im System anzeigt Template, dass alle Bücher eines Benutzers anzeigt 20
    21. Controller Verbindung zwischen Model und View Lädt benötigte Daten aus dem Model und füttert sie in den View Prozess-Logik BSP: Lade alle Bücher im System und gebe sie dem richtigem Template 21
    22. Rails-Architektur 22
    23. Active Record Model Verbindet Ruby-Klasse mit Daten aus der Datenbank Bereitstellung von Funktionen zur Manipulation der Daten in der DB 23
    24. Action Controller Controller Bietet die eigentlichen Funktionalitäten an, mit denen der Benutzer interagiert Lädt den passenden Action View 24
    25. Action View View Ruby Template HTML mit ERb-tags Das was der Benutzer zu sehen bekommt 25
    26. Installation und Einrichtung 26
    27. Was brauchen wir? Ruby rubygems zum Installieren von gems Rails & co rubygems Datenbank Webserver 27
    28. Ruby Windows Binary Installer: http://rubyforge.org/projects/ rubyinstaller/ UNIX: RPM, DEB, Sourcen, Port,... 28
    29. Rubygems Paketverwaltung für Bibliotheken (vgl. CPAN und PEAR) Verwaltung von Paketen gem install NAME gem update u.s.w.... 29
    30. Rails Unser Eigentliches Framework Installation über rubygems gem install rails 30
    31. Datenbank Rails unterstützt folgende Datenbanken: MySQL PostgreSQL SQLite Sybase Oracle MSSQL 31
    32. Webserver Rails kommt mit eigenem Webserver, WEBrick Ansonsten: CGI --> Jeder Webserver mit CGI mod_ruby + Apache FCGI für Apache oder Lighttpd 32
    33. Hello World 33
    34. Erste Schritte Daten-Struktur Konfiguration und Environments Kontrollfluß “Hello World” ausgeben 34
    35. Applikation erstellen # rails myapplication # ls myapplication/ 35
    36. Datenbank Verbindung config/database.yml 36
    37. Umgebungen Development Standard Loggin an, caching aus, debug an Production Loggin an, caching an, debug aus Test alles aus 37
    38. Generator Models,Views und Controller können per Hand erstellt werden Generator hilft aus: ruby script/generator model Buch ruby script/generator controller Laden 38
    39. Scaffold Generator Generiert Standard Views und Controller für Model: New Edit List Destroy Nützlich für den Anfang 39
    40. Controller generieren # ruby script/generate controller sagwas 40
    41. Action einfügen # vi app/controller/sagwas_controler.rb 41
    42. Webserver starten # ruby script/server 42
    43. Browser starten http://server/controller/action/[argumente] 43
    44. Real World Example OnlineShop in Rails 44
    45. Funktionalität Admin: Einstellen und Bearbeiten von Artikeln Store: Ansehen und Warenkorb Admin: Bestellungen bearbeiten 45
    46. Vorgehen - Admin Erstellen von DB-Tabellen Generieren von Model+Controller Validieren eines gültigen Artikels 46
    47. # rails depot # cd depot # vi config/database.yml # ruby script/generate scaffold Product Admin 47
    48. Validation ActiveRecord bietet Validierungsfunktionen an, die vor dem Speichern aufgerufen werden: validate_presence_of :name, :vorname 48
    49. Validation 49
    50. Anpassen der Templates Templates sind RHTML, d.h HTML + Ruby code: <% normaler rubycode %> <%= ergebnis wird ausgegeben %> <%=h ergebnis wird HTML escaped %> 50
    51. Weitere Features 51
    52. The Web, V2.0 Rails integriert JavaScript Bibliotheken, die folgenes ermöglichen: Ajax Effects 52
    53. The Web, V2.0 - AJAX 53
    54. The Web, V2.0 - AJAX 54
    55. The Web, V2.0 DEMO 55
    56. Remote Debugging Über ruby script/console bekommt man eine IRB session zur Rails-Umgebung Das geht auch remote! 56
    57. Sicherheit Schutz gegen CSS/XSS mit <%h .... %> Schutz gegen SQLInjection mit User.find(:all, conditions => [“name=?”, #{params[:name]}] 57
    58. Caching Rails bietet von sich aus drei Caching Einstellung Page caching Action caching Fragment caching 58
    59. ActionMail Senden und Empfangen von Mail in RailsApplikationen Senden über Templates 59
    60. Ressourcen 60
    61. Mailing Listen ruby-talk@ruby-lang.org rails@lists.rubyonrails.com 61
    62. Webseiten www.rubyonrails.com poignantguide.net/ruby mir.aculo.us / script.aculo.us 62
    63. Bücher Programming Ruby Agile Web Development with Rails 63
    64. Fin Fragen? 64

    + Jonathan WeissJonathan Weiss, 3 years ago

    custom

    4342 views, 2 favs, 0 embeds more stats

    An Introduction to the Web framework Ruby on Rails more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 4342
      • 4342 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 93
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories