Sie sind auf Seite 1von 122

Ruby on Rails

- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
Ruby on Rails - Einführung
Beispiel

weitere
Funktionen
Oliver Paulus
Wer
verwendet
RoR?

Referenzen
20. Oktober 2007
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Inhaltsverzeichnis

Ruby on Rails
- Einführung
1 Was ist Ruby?
Oliver Paulus

Was ist Ruby?


2 Was ist Ruby on Rails?
Was ist Ruby
on Rails? 3 RoR Philosophien
RoR
Philosophien 4 RoR Komponenten
RoR Active Record
Komponenten
Active Record Action Pack
Action Pack

Beispiel
5 Beispiel
weitere
Funktionen
6 weitere Funktionen
Wer
verwendet
RoR? 7 Wer verwendet RoR?
Referenzen
8 Referenzen
Was ist Ruby?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
seit 24. Februar 1993
Beispiel Yukihiro Matsumoto
weitere
Funktionen Einflüsse von Perl, Smalltalk, Eiffel, Ada und Lisp
Wer
verwendet
RoR?

Referenzen
Was ist Ruby?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
seit 24. Februar 1993
Beispiel Yukihiro Matsumoto
weitere
Funktionen Einflüsse von Perl, Smalltalk, Eiffel, Ada und Lisp
Wer
verwendet
RoR?

Referenzen
Was ist Ruby?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
seit 24. Februar 1993
Beispiel Yukihiro Matsumoto
weitere
Funktionen Einflüsse von Perl, Smalltalk, Eiffel, Ada und Lisp
Wer
verwendet
RoR?

Referenzen
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Eigenschaften

Ruby on Rails
- Einführung

Oliver Paulus
einfache Syntax
Was ist Ruby?
dynamisch typisiert
Was ist Ruby
on Rails?
objektorientiert
RoR
Philosophien flexibel
RoR
Komponenten portabel
Active Record
Action Pack Packetmanagment mit Ruby Gems
Beispiel
irb: Interactive Ruby
weitere
Funktionen Freie Software
Wer
verwendet macht Spaß
RoR?

Referenzen
...
Was ist Ruby?
Alles ist ein Objekt!

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien 1 zahl = 42
RoR 2 puts zahl.class # Ausgabe: Fixnum
Komponenten
Active Record 3 puts "Zahl: #{zahl}".class # Ausgabe: String
Action Pack

Beispiel

weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Was ist Ruby?
Vererbung

Ruby on Rails
- Einführung

Oliver Paulus 1 class Auto


Was ist Ruby?
2 def beschleunigen
Was ist Ruby 3 puts ’BrumBrumBrum’
on Rails?
4 end
RoR
Philosophien 5 end
RoR 6 class GutesAuto < Auto
Komponenten
Active Record 7 def bremsen
Action Pack
8 puts ’Quietsch’
Beispiel
9 end
weitere
Funktionen 10 end
Wer
verwendet
11 auto = GutesAuto.new
RoR? 12 auto.beschleunigen
Referenzen 13 auto.bremsen
Was ist Ruby?
Erweiterbar

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby 1 class Numeric


on Rails?

RoR
2 def plus(x)
Philosophien
3 self.+(x)
RoR
Komponenten 4 end
Active Record
Action Pack
5 end
Beispiel 6

weitere 7 5.plus 6 #Ausgabe: 11


Funktionen

Wer
verwendet
RoR?

Referenzen
Was ist Ruby?
Flexibel

Ruby on Rails
- Einführung

Oliver Paulus
9 class Roman
10 def romanToInt(str)
Was ist Ruby?
11 # ...
Was ist Ruby
on Rails? 12 end
RoR 13 def method_missing(methId)
Philosophien
14 str = methId.id2name
RoR
Komponenten 15 romanToInt(str)
Active Record
Action Pack 16 end
Beispiel 17 end
weitere 18
Funktionen

Wer
19 r = Roman.new
verwendet
RoR?
20 r.iv #4
Referenzen 21 r.xxiii #23
22 r.mm #2000
Was ist Ruby?
funktionale Programmierung durch Blöcke

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? 1 lang = if ".de" == url[-3, 3]


Was ist Ruby 2 "Deutsch"
on Rails?
3 else
RoR
Philosophien 4 "andere Sprache"
RoR
Komponenten
5 end
Active Record 6
Action Pack

Beispiel
7 search_engines =
weitere 8 [’Google’, ’Yahoo’, ’MSN’].each do |name|
Funktionen
9 "http://www." + name.downcase + ".com"
Wer
verwendet 10 end
RoR?

Referenzen
Was ist Ruby?
Sichtbarkeit von Variablen

Ruby on Rails
- Einführung

Oliver Paulus
1 class User
2 @@test2 = "Test"
Was ist Ruby?
3 def initialize(name)
Was ist Ruby
on Rails? 4 @name = name
RoR 5 $test = "Global"
Philosophien
6 end
RoR
Komponenten 7 def to_s
Active Record
Action Pack 8 puts "#{@name} #{@@test2}"
Beispiel 9 end
weitere
Funktionen
10 end
11
Wer
verwendet
RoR?
12 user = User.new "Hans"
Referenzen 13 user.to_s
14 puts $test
Was ist Ruby?
Mixin-Beispiel

Ruby on Rails
- Einführung

Oliver Paulus
1 module MyMixIn
Was ist Ruby? 2 def hello
Was ist Ruby 3 puts ’Hallo Welt!’
on Rails?

RoR
4 end
Philosophien
5 end
RoR
Komponenten 6
Active Record
Action Pack
7 class MyClass
Beispiel 8 include MyMixIn
weitere 9 end
Funktionen
10
Wer
verwendet 11 test = MyClass.new
RoR?

Referenzen
12 test.hello
Was ist Ruby?
Kontroll-Strukturen

Ruby on Rails
- Einführung

Oliver Paulus
1 i = 0
2 puts "Null" if i == 0
Was ist Ruby?
3 puts "Negativ" if i < 0
Was ist Ruby
on Rails? 4 puts "nicht Null" unless i == 0
RoR 5
Philosophien
6 name = "testabctest"
RoR
Komponenten 7 case name
Active Record
Action Pack 8 when ’a’, ’b’
Beispiel 9 puts "a oder b"
weitere
Funktionen
10 when /abc/
Wer
11 puts "abc enthalten"
verwendet
RoR?
12 end
Referenzen 13

14 puts "abc enthalten" if name =~ /abc/


Was ist Ruby?
Schleifen

Ruby on Rails
- Einführung

Oliver Paulus 16 for num in (4..6)


Was ist Ruby?
17 puts num
Was ist Ruby 18 end
on Rails?
19
RoR
Philosophien 20 collection.each { |e|
RoR 21 puts e.name
Komponenten
Active Record 22 }
Action Pack
23
Beispiel
24 count = 0
weitere
Funktionen 25 while count < 10 do
Wer
verwendet
26 puts count.to_s
RoR? 27 count += 1
Referenzen 28 end
Was ist Ruby on Rails?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
quelloffenes Web-Framework
Beispiel Juli 2004
weitere
Funktionen
David Heinemeier Hansson
Wer wurde aus Projektmanagementsoftware Basecamp
verwendet
RoR? extrahiert
Referenzen
Was ist Ruby on Rails?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
quelloffenes Web-Framework
Beispiel Juli 2004
weitere
Funktionen
David Heinemeier Hansson
Wer wurde aus Projektmanagementsoftware Basecamp
verwendet
RoR? extrahiert
Referenzen
Was ist Ruby on Rails?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
quelloffenes Web-Framework
Beispiel Juli 2004
weitere
Funktionen
David Heinemeier Hansson
Wer wurde aus Projektmanagementsoftware Basecamp
verwendet
RoR? extrahiert
Referenzen
Was ist Ruby on Rails?
Fakten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack
quelloffenes Web-Framework
Beispiel Juli 2004
weitere
Funktionen
David Heinemeier Hansson
Wer wurde aus Projektmanagementsoftware Basecamp
verwendet
RoR? extrahiert
Referenzen
RoR Philosophien

Ruby on Rails
- Einführung

Oliver Paulus
DRY - Don’t repeat yourself
Was ist Ruby?

Was ist Ruby Jede Information sollte nur ein einziges Mal vorhanden sein.
on Rails?

RoR
Philosophien Konvention über Konfiguration
RoR
Komponenten Sinnvolle Standardwerte, Namenskonvention. Können
Active Record
Action Pack einfach umkonfiguriert werden.
Beispiel

weitere
Funktionen Scaffolding (Gerüstbau)
Wer
verwendet Web-Anwendungen on the fly zu entwickeln. Schnelles
RoR?
Prototyping.
Referenzen
RoR Philosophien

Ruby on Rails
- Einführung

Oliver Paulus
DRY - Don’t repeat yourself
Was ist Ruby?

Was ist Ruby Jede Information sollte nur ein einziges Mal vorhanden sein.
on Rails?

RoR
Philosophien Konvention über Konfiguration
RoR
Komponenten Sinnvolle Standardwerte, Namenskonvention. Können
Active Record
Action Pack einfach umkonfiguriert werden.
Beispiel

weitere
Funktionen Scaffolding (Gerüstbau)
Wer
verwendet Web-Anwendungen on the fly zu entwickeln. Schnelles
RoR?
Prototyping.
Referenzen
RoR Philosophien

Ruby on Rails
- Einführung

Oliver Paulus
DRY - Don’t repeat yourself
Was ist Ruby?

Was ist Ruby Jede Information sollte nur ein einziges Mal vorhanden sein.
on Rails?

RoR
Philosophien Konvention über Konfiguration
RoR
Komponenten Sinnvolle Standardwerte, Namenskonvention. Können
Active Record
Action Pack einfach umkonfiguriert werden.
Beispiel

weitere
Funktionen Scaffolding (Gerüstbau)
Wer
verwendet Web-Anwendungen on the fly zu entwickeln. Schnelles
RoR?
Prototyping.
Referenzen
RoR Komponenten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Active Support
RoR
Philosophien Active Record
RoR
Komponenten Action Pack
Active Record
Action Pack Action Mailer
Beispiel
Action Web Service
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
RoR Komponenten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Active Support
RoR
Philosophien Active Record
RoR
Komponenten Action Pack
Active Record
Action Pack Action Mailer
Beispiel
Action Web Service
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
RoR Komponenten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Active Support
RoR
Philosophien Active Record
RoR
Komponenten Action Pack
Active Record
Action Pack Action Mailer
Beispiel
Action Web Service
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
RoR Komponenten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Active Support
RoR
Philosophien Active Record
RoR
Komponenten Action Pack
Active Record
Action Pack Action Mailer
Beispiel
Action Web Service
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
RoR Komponenten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Active Support
RoR
Philosophien Active Record
RoR
Komponenten Action Pack
Active Record
Action Pack Action Mailer
Beispiel
Action Web Service
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? Migrations


Was ist Ruby
on Rails? Tabellen und Klassen, Spalten und Attribute
RoR
Philosophien
CRUD
RoR Filtern
Komponenten
Active Record
Action Pack
Fremdschlüssel, Relationen
Beispiel Validation
weitere
Funktionen acts_as
Wer
verwendet
magische Spalten
RoR?

Referenzen
Active Record
Migrations - Struktur anlegen 1/4

Ruby on Rails
- Einführung

Oliver Paulus
1 class CreateTags < ActiveRecord::Migration
2 def self.up
Was ist Ruby?
3 create_table :tags do |t|
Was ist Ruby
on Rails? 4 t.column :name, :string, :limit => 200
RoR 5 end
Philosophien
6
RoR
Komponenten 7 create_table :photos_tags, :id => false
Active Record
Action Pack do |t|
Beispiel 8 t.column :photo_id, :integer
weitere
Funktionen
9 t.column :tag_id, :integer
Wer
10 end
verwendet
RoR?
11 add_index :photos_tags, [:photo_id]
Referenzen 12 add_index :photos_tags, [:tag_id]
13 end
Active Record
Migrations - Struktur anlegen (Rollback) 2/4

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? 15 def self.down
RoR
Philosophien
16 drop_table :tags
17
RoR
Komponenten
Active Record
18 drop_table :photos_tags
Action Pack
19 end
Beispiel
20 end
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Migrations - Struktur ändern 3/4

Ruby on Rails
- Einführung

Oliver Paulus 1 class AddMagicColumns < ActiveRecord::


Was ist Ruby?
Migration
Was ist Ruby 2 def self.up
on Rails?
3 add_column :tags, :created_at, :
RoR
Philosophien timestamp
RoR 4 add_column :tags, :updated_at, :
Komponenten
Active Record timestamp
Action Pack
5 change_column :tags, :name, :string, :
Beispiel
length => 300
weitere
Funktionen 6 end
Wer 7
verwendet
RoR? 8 #...
Referenzen 9 end
Active Record
Migrations - Daten modifizieren 4/4

Ruby on Rails
- Einführung

Oliver Paulus 1 class ChangeAdminUserRole < ActiveRecord::


Was ist Ruby?
Migration
Was ist Ruby 2 def self.up
on Rails?
3 user = User.find(:first, :conditions =>
RoR
Philosophien [’login = ?’, ’admin’])
RoR 4 raise ’cannot find default admin user’
Komponenten
Active Record if user.nil?
Action Pack
5 user.role = User.roles[:admin]
Beispiel
6 user.save!
weitere
Funktionen 7 end
Wer 8
verwendet
RoR? 9 #...
Referenzen 10 end
Active Record
Tabellen und Klassen, Spalten und Attribute

Ruby on Rails
- Einführung

Oliver Paulus
1 class Product < ActiveRecord::Base; end
Was ist Ruby? 2 # wird automatisch auf die Tabelle
Was ist Ruby 3 # "products" gemappt
on Rails?
4
RoR
Philosophien
5 # CREATE TABLE products (
RoR
Komponenten 6 # id int(11) NOT NULL auto_increment,
Active Record
Action Pack
7 # name varchar(255),
Beispiel 8 # PRIMARY KEY (id)
weitere 9 # );
Funktionen
10
Wer
verwendet 11 # bekommt automatisch Product#name
RoR?

Referenzen
12 # und Product#name=(new_name)
Active Record
CRUD Operationen (create, read, update, delete) - create, read 1/3

Ruby on Rails
- Einführung 1 #create
Oliver Paulus 2 order = Order.new
Was ist Ruby? 3 order.name = "Order1"
Was ist Ruby 4 order.save
on Rails?
5
RoR
Philosophien 6 order = Order.new(:name => "Order1")
RoR
Komponenten
7 order.save
Active Record 8
Action Pack

Beispiel
9 Order.new do |o|
weitere 10 o.name = "Order1"
Funktionen
11 o.save
Wer
verwendet 12 end
RoR?
13
Referenzen
14 #read
15 order = Order.find(24)
Active Record
CRUD Operationen (create, read, update, delete) - update 2/3

Ruby on Rails
- Einführung 17 #update
Oliver Paulus 18 order = Order.find(24)
Was ist Ruby? 19 order.name = "Order2"
Was ist Ruby 20 order.save
on Rails?
21
RoR
Philosophien 22 order = Order.find(24)
RoR
Komponenten
23 order.update_attribute(:name, "Order3")
Active Record 24 #oder
Action Pack

Beispiel
25 order.update_attributes(:name => "Order4", :
weitere price => 355)
Funktionen
26
Wer
verwendet 27 Order.update(24, :name => "Order5")
RoR?
28
Referenzen
29 Order.update_all("price = price * 1.5", "
name = ’Order5’")
Active Record
CRUD Operationen (create, read, update, delete) - delete 3/3

Ruby on Rails
- Einführung

Oliver Paulus
31 #delete
Was ist Ruby? 32 Order.delete(24)
Was ist Ruby 33
on Rails?

RoR
34 Order.delete([24, 25, 26])
Philosophien
35
RoR
Komponenten 36 Order.delete_all(["price > ?", expensive])
Active Record
Action Pack
37

Beispiel 38 order = Order.find(24)


weitere 39 #freeze
Funktionen
40 order.destroy
Wer
verwendet 41
RoR?

Referenzen
42 Order.destroy_all(["price > ?", expensive])
Active Record
Filtern - 1/2

Ruby on Rails
- Einführung

Oliver Paulus
1 Person.find(42)
2 Person.find(42, :conditions => "
Was ist Ruby?
administrator = 1", :order => "created_on
Was ist Ruby
on Rails? DESC")
RoR 3
Philosophien
4 Person.find(:first, :conditions => [ "
RoR
Komponenten user_name = ?", ’hans’])
Active Record
Action Pack 5 Person.find(:first, :order => "created_on
Beispiel DESC", :offset => 5)
weitere 6
Funktionen

Wer
7 Person.find(:all, :include => [ :groups, :
verwendet
RoR?
friends ])
Referenzen 8 Person.find(:all, :conditions => [ "category
IN (?)", categories], :limit => 50)
Active Record
Filtern - 2/2

Ruby on Rails
- Einführung

Oliver Paulus
10 Tag.find_or_create_by_name("Summer") # Tag.
Was ist Ruby?
create(:name => "Summer")
Was ist Ruby
on Rails? 11 Person.find_by_user_name("Hans") # Person.
RoR
Philosophien
find(:first, ["user_name = ?", ’Hans’])
RoR
12 Person.find_all_by_last_name("Mueller")
Komponenten
Active Record
13 Person.find_by_user_name_and_password("Hans"
Action Pack
, "test123")
Beispiel
14
weitere
Funktionen 15 Post.find_by_sql "SELECT p.*, c.author FROM
Wer posts p, comments c WHERE p.id = c.
verwendet
RoR? post_id"
Referenzen
Active Record
Relationen

Ruby on Rails
- Einführung

Oliver Paulus
1 class Order < ActiveRecord::Base
Was ist Ruby? 2 has_one :invoice
Was ist Ruby 3 has_many :line_items
on Rails?

RoR
4 has_and_belongs_to_many :categories #
Philosophien
orders_categories table
RoR
Komponenten 5 end
Active Record
Action Pack
6 class LineItem < ActiveRecord::Base
Beispiel 7 belongs_to :order #FK order_id
weitere 8 end
Funktionen
9 class Invoice < ActiveRecord::Base
Wer
verwendet 10 belongs_to :order #FK order_id
RoR?

Referenzen
11 end
Active Record
Relationen - weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Modelle als ’Join’-Tabelle verwenden
RoR
Philosophien Vererbung (Single Table Inheritance)
RoR
Komponenten polymorphe Verbindungen
Active Record
Action Pack selbst referenzierende ’Joins’
Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Relationen - weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Modelle als ’Join’-Tabelle verwenden
RoR
Philosophien Vererbung (Single Table Inheritance)
RoR
Komponenten polymorphe Verbindungen
Active Record
Action Pack selbst referenzierende ’Joins’
Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Relationen - weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Modelle als ’Join’-Tabelle verwenden
RoR
Philosophien Vererbung (Single Table Inheritance)
RoR
Komponenten polymorphe Verbindungen
Active Record
Action Pack selbst referenzierende ’Joins’
Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Relationen - weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Modelle als ’Join’-Tabelle verwenden
RoR
Philosophien Vererbung (Single Table Inheritance)
RoR
Komponenten polymorphe Verbindungen
Active Record
Action Pack selbst referenzierende ’Joins’
Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Relationen - weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?
Modelle als ’Join’-Tabelle verwenden
RoR
Philosophien Vererbung (Single Table Inheritance)
RoR
Komponenten polymorphe Verbindungen
Active Record
Action Pack selbst referenzierende ’Joins’
Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Validation

Ruby on Rails
- Einführung 1 class User < ActiveRecord::Base
Oliver Paulus 2 validates_length_of :login, :within =>
Was ist Ruby? 5..40
Was ist Ruby 3 validates_format_of :password, :with => /
on Rails?
^(?=.*\d)(?=.*([a-z]|[A-Z]))([\x20-\x7E
RoR
Philosophien ]){8,40}$/, :on => :create
RoR
Komponenten
4 validates_uniqueness_of :login, :email
Active Record 5 validate :validate_email_format
Action Pack

Beispiel
6 validates_presence_of :password
weitere 7 def validate_email_format
Funktionen
8 errors.add :email, ’Invalid email format
Wer
verwendet ’ unless email =~ /^([^@\s]+)@((?:[-a
RoR?
-z0-9]+\.)+[a-z]{2,})$/i
Referenzen
9 end
10 end
Active Record
acts_as - list

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby 1 class Parent < ActiveRecord::Base


on Rails?

RoR
2 has_many :children, :order => :position
Philosophien
3 end
RoR
Komponenten 4 class Child < ActiveRecord::Base
Active Record
Action Pack
5 belongs_to :parent
Beispiel 6 acts_as_list :scope => :parent_id
weitere 7 end
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
acts_as - tree

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien 1 class Category < ActiveRecord::Base
RoR 2 acts_as_tree :order => "name"
Komponenten
Active Record 3 end
Action Pack

Beispiel

weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
magische Spalten

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? created_at, created_on, updated_at, updated_on


Was ist Ruby
on Rails? lock_version
RoR
Philosophien
type
RoR id
Komponenten
Active Record
Action Pack
xxx_id
Beispiel xxx_count
weitere
Funktionen position
Wer
verwendet
parent_id
RoR?

Referenzen
Active Record
Weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR Callbacks
Philosophien

RoR
Transaktionen
Komponenten
Active Record
’Spezielle’ Attribute
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR Callbacks
Philosophien

RoR
Transaktionen
Komponenten
Active Record
’Spezielle’ Attribute
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR Callbacks
Philosophien

RoR
Transaktionen
Komponenten
Active Record
’Spezielle’ Attribute
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Active Record
Weitere Features

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR Callbacks
Philosophien

RoR
Transaktionen
Komponenten
Active Record
’Spezielle’ Attribute
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Action Pack
MVC - Model, View und Controller

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR
Philosophien

RoR
Komponenten
Active Record
Action Pack

Beispiel

weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
View und Controller

Ruby on Rails
- Einführung Controller:
Oliver Paulus Action Methoden
Was ist Ruby? Zugriff auf Request, Flash, Session
Was ist Ruby
on Rails? Übergabe an View
RoR
Philosophien
ActionController Filter
RoR ...
Komponenten
Active Record View:
Action Pack

Beispiel Templates (RHTML, RXML, RJS)


weitere
Funktionen
Helpers
Wer Layout
verwendet
RoR? Partial Views
Referenzen
Pagination
...
Action Pack
Controller

Ruby on Rails
- Einführung 1 class UsersController <
Oliver Paulus ApplicationController
Was ist Ruby?
2 def list
Was ist Ruby 3 @users = User.find(:all)
on Rails?
4 end
RoR
Philosophien 5 def create
RoR 6 @user = User.new(params[:user])
Komponenten
Active Record 7 if @user.save
Action Pack
8 flash[:notice] = ’User was
Beispiel

weitere
successfully created.’
Funktionen 9 redirect_to :action => ’list’
Wer
verwendet
10 else
RoR? 11 render :action => ’new’
Referenzen
12 end
13 end
14 end
Action Pack
View - RHTML

Ruby on Rails
- Einführung

Oliver Paulus 1 <!-- _form.rhtml -->


Was ist Ruby?
2 <%= error_messages_for ’tag’ %>
Was ist Ruby 3 <p><label for="tag_name">Name</label><br/>
on Rails?
4 <%= text_field ’tag’, ’name’, :size => 40, :
RoR
Philosophien maxlength => 200 %></p>
RoR 5
Komponenten
Active Record 6 <!-- new.rhtml -->
Action Pack
7 <h1>New tag</h1>
Beispiel
8 <% form_tag :action => ’create’ do %>
weitere
Funktionen 9 <%= render :partial => ’form’ %>
Wer
verwendet
10 <%= submit_tag "Create" %>
RoR? 11 <% end %>
Referenzen 12 <%= link_to ’Back’, :action => ’list’ %>
Action Pack
View - RXML

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?


1 xml.example(:lang => "rails") do
Was ist Ruby
on Rails? 2 xml.name(example.name)
RoR 3 @lines.each do |exampleline|
Philosophien
4 xml.line do
RoR
Komponenten 5 xml.linenumber(exampleline.number)
Active Record
Action Pack 6 xml.content(exampleline.content)
Beispiel 7 end
weitere
Funktionen
8 end
Wer
9 end
verwendet
RoR?

Referenzen
Action Pack
View - RJS

Ruby on Rails
- Einführung

Oliver Paulus
1 # First buy appears the cart, subsequent
buys highlight it
Was ist Ruby?
2 page[:cart].visual_effect(@cart.size == 1 ?
Was ist Ruby
on Rails? :appear : :highlight)
RoR 3
Philosophien
4 # Replace the cart with a refresh rendering
RoR
Komponenten of the cart partial
Active Record
Action Pack 5 page[:cart].replace_html :partial => "cart"
Beispiel 6
weitere
Funktionen
7 # Highlight all the DOM elements of class "
Wer
product"
verwendet
RoR?
8 page.select(".product").each do |element|
Referenzen 9 element.visual_effect :highlight
10 end
Action Pack
View - Layout

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby? 1 <!-- ... -->


Was ist Ruby 2 <%= javascript_include_tag :defaults %>
on Rails?
3 <%= stylesheet_link_tag ’scaffold’ %>
RoR
Philosophien 4 </head>
RoR
Komponenten
5 <body>
Active Record 6 <p style="color: green"><%= flash[:notice]
Action Pack

Beispiel
%></p>
weitere 7 <%= yield %>
Funktionen
8 </body>
Wer
verwendet 9 <!-- ... -->
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
Beispiel

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby Erzeugungen der Applikation


on Rails?
Verzeichnisstruktur
RoR
Philosophien
Model anlegen
RoR
Komponenten Migration schreiben
Active Record
Action Pack
Objekte mit Rails-Konsole anlegen
Beispiel

weitere
Scaffolding (temporär, permanent)
Funktionen
Validation
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
RoR
weitere Funktionen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby automatisierte Verteilung mit Capristrano


on Rails?
Testbarkeit (Unit-, functional-, integration testing)
RoR
Philosophien
Caching
RoR
Komponenten Plugins
Active Record
Action Pack
AJAX
Beispiel

weitere
Routing
Funktionen
...
Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Beispiele

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR AutoScout
Philosophien

RoR
Xing (OpenBC)
Komponenten
Active Record
eins.de
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Beispiele

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR AutoScout
Philosophien

RoR
Xing (OpenBC)
Komponenten
Active Record
eins.de
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Beispiele

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR AutoScout
Philosophien

RoR
Xing (OpenBC)
Komponenten
Active Record
eins.de
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Beispiele

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails?

RoR AutoScout
Philosophien

RoR
Xing (OpenBC)
Komponenten
Active Record
eins.de
Action Pack

Beispiel
...
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Fallbeispiel eins.de, Quelle: Patrick Lenz

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? von 50000 Zeilen PHP auf 5000 Zeilen Rails
RoR
Philosophien ca. 1,2 Millionen dyn. Seiten am Tag
RoR
Komponenten
100 GByte Traffic am Tag
Active Record
Action Pack 200.000 registrierte Benutzer
Beispiel
4000 MySQL Queries pro Sekunde
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Fallbeispiel eins.de, Quelle: Patrick Lenz

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? von 50000 Zeilen PHP auf 5000 Zeilen Rails
RoR
Philosophien ca. 1,2 Millionen dyn. Seiten am Tag
RoR
Komponenten
100 GByte Traffic am Tag
Active Record
Action Pack 200.000 registrierte Benutzer
Beispiel
4000 MySQL Queries pro Sekunde
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Fallbeispiel eins.de, Quelle: Patrick Lenz

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? von 50000 Zeilen PHP auf 5000 Zeilen Rails
RoR
Philosophien ca. 1,2 Millionen dyn. Seiten am Tag
RoR
Komponenten
100 GByte Traffic am Tag
Active Record
Action Pack 200.000 registrierte Benutzer
Beispiel
4000 MySQL Queries pro Sekunde
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Fallbeispiel eins.de, Quelle: Patrick Lenz

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? von 50000 Zeilen PHP auf 5000 Zeilen Rails
RoR
Philosophien ca. 1,2 Millionen dyn. Seiten am Tag
RoR
Komponenten
100 GByte Traffic am Tag
Active Record
Action Pack 200.000 registrierte Benutzer
Beispiel
4000 MySQL Queries pro Sekunde
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Wer verwendet RoR?
Fallbeispiel eins.de, Quelle: Patrick Lenz

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?

Was ist Ruby


on Rails? von 50000 Zeilen PHP auf 5000 Zeilen Rails
RoR
Philosophien ca. 1,2 Millionen dyn. Seiten am Tag
RoR
Komponenten
100 GByte Traffic am Tag
Active Record
Action Pack 200.000 registrierte Benutzer
Beispiel
4000 MySQL Queries pro Sekunde
weitere
Funktionen

Wer
verwendet
RoR?

Referenzen
Referenzen

Ruby on Rails
- Einführung

Oliver Paulus

Was ist Ruby?


Ruby - http://www.ruby-lang.org
Was ist Ruby
on Rails?
Ruby on Rails - http://www.rubyonrails.org
RoR
Philosophien Agile Web Development with Rails - David Thomas,
RoR David Heinemeier Hansson, Leon Breedt - Pragmatic
Komponenten
Active Record Programmers - 2nd Edition - 2007
Action Pack

Beispiel Rapid Web Development mit Ruby on Rails - Ralf


weitere Wirdemann, Thomas Baustert - Hanser Fachbuchverlag
Funktionen

Wer Build Your Own Ruby On Rails Web Applications -


verwendet
RoR? Patrick Lenz - Sitepoint
Referenzen