<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-x-formal">
	<id>https://glossar.hs-augsburg.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meberl</id>
	<title>GlossarWiki - Benutzerbeiträge [de-formal]</title>
	<link rel="self" type="application/atom+xml" href="https://glossar.hs-augsburg.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meberl"/>
	<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/Spezial:Beitr%C3%A4ge/Meberl"/>
	<updated>2026-07-18T20:52:15Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=RubyGems&amp;diff=12032</id>
		<title>RubyGems</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=RubyGems&amp;diff=12032"/>
		<updated>2008-07-10T00:04:45Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
RubyGems ist ein Packet-Manager für die Programmiersprache Ruby. &lt;br /&gt;
Auf diesem Wege können einfach und schnell Programme und Bibliotheken, die sogenannten &amp;quot;gems&amp;quot;, heruntergeladen werden.&lt;br /&gt;
Es ist mit der Ruby Version 1.9 teil der Standard Bibliothek.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verwendung=&lt;br /&gt;
&lt;br /&gt;
Installieren eines Packets (z.b. rails):&lt;br /&gt;
  gem install rails&lt;br /&gt;
&lt;br /&gt;
Auflisten aller verfügbaren gems:&lt;br /&gt;
  gem query --remote&lt;br /&gt;
&lt;br /&gt;
Suche nach bestimmten Paketen:&lt;br /&gt;
  gem query --remote --name-matches SEARCHSTRING&lt;br /&gt;
&lt;br /&gt;
Deinstallation:&lt;br /&gt;
  gem uninstall rails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
&lt;br /&gt;
* [http://www.rubygems.org RubyGems Webseite]&lt;br /&gt;
* Oliver Frommel (2007): [http://www.linux-magazin.de/heft_abo/ausgaben/2007/03/wertvolle_steine Wertvolle Steine], Linux New Media AG&lt;br /&gt;
* [http://www.rubymatters.com/rubygems-user-guide.shtml RubyGem User Guide]&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12031</id>
		<title>Ruby (Programmiersprache)</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12031"/>
		<updated>2008-07-09T23:46:59Z</updated>

		<summary type="html">&lt;p&gt;Meberl: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Definition =&lt;br /&gt;
Ruby ist eine objekt-orientierte Skriptsprache die Syntaxelemente von Perl mit Features von Smalltalk kombiniert.&lt;br /&gt;
Ruby wurde in Japan von Yukihiro &amp;quot;Matz&amp;quot; Matsumoto entwickelt und 1995 in der ersten Version Veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
* Plattformübergreifend verwendbar&lt;br /&gt;
* Objekt-orientiert&lt;br /&gt;
* Unterstüzung für Reguläre Ausdrücke auf Sprachebene&lt;br /&gt;
* Automatische Garbage Collection&lt;br /&gt;
* Alle Datentypen sind Objekte (auch Primitive)&lt;br /&gt;
* Packetmanager [[RubyGems]]&lt;br /&gt;
&lt;br /&gt;
= Ruby Shell =&lt;br /&gt;
Bei jeder Ruby-Installation ist eine Shell enthalten.&lt;br /&gt;
Die &#039;&#039;irb&#039;&#039;-Shell (&amp;quot;Interactive Ruby&amp;quot;) kann verwendet werden um schnell und einfach Ausdrücke zu testen.&lt;br /&gt;
&lt;br /&gt;
= Beispiele = &lt;br /&gt;
&lt;br /&gt;
Integer:&lt;br /&gt;
  irb(main):001:0&amp;gt; n = 2 * 3 + 2&lt;br /&gt;
  =&amp;gt; 8&lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; Fixnum&lt;br /&gt;
&lt;br /&gt;
String:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt;n = &amp;quot;Hallo &amp;quot; * 3&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo Hallo Hallo &lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; String&lt;br /&gt;
  irb(main):003:0&amp;gt; n[0,5]&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo&lt;br /&gt;
&lt;br /&gt;
Schleifen:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = 0&lt;br /&gt;
  =&amp;gt; 0&lt;br /&gt;
  irb(main):002:0&amp;gt; 1.upto(5) do |i| a = a + i end&lt;br /&gt;
  =&amp;gt; 1&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
Listen und Iterator:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = [ &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot; ]&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot;]&lt;br /&gt;
  irb(main):002:0&amp;gt; a.pop&lt;br /&gt;
  =&amp;gt; &amp;quot;21&amp;quot;&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;]&lt;br /&gt;
  irb(main):004:0&amp;gt; a.each do |c| puts c.class end&lt;br /&gt;
  String&lt;br /&gt;
  String&lt;br /&gt;
  Fixnum&lt;br /&gt;
  String&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.ruby-lang.org/ Ruby Website]&lt;br /&gt;
* Armin Roehrl und Stefan Schmiedl (2004): Big in Japan. Linux-Magazin Sonderheft Scripting Edition, Linux New Media AG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.ruby-lang.org/ Ruby Website]&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=TurboGears&amp;diff=12030</id>
		<title>TurboGears</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=TurboGears&amp;diff=12030"/>
		<updated>2008-07-09T21:31:39Z</updated>

		<summary type="html">&lt;p&gt;Meberl: /* Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TurboGears&#039;&#039;&#039; ist ein [[Python]]-[[Framework]], mit dem man in kurzer Zeit Datenbank-basierte Web-Applikationen erstellen kann. Es wurde von Kevin Dangoor entwickelt und ist neben [[Django]] und [[ZOPE]] das bekannteste Web-Entwicklungs-[[Framework]] auf [[Python]]-Basis. Basierend auf dem [[Model-View-Controller-Paradigma]] verbindet es einige bekannte [[Python]]-Frameworks zu einem grossen mächtigen Mega-[[Framework]].&lt;br /&gt;
&lt;br /&gt;
Dazu gehören:&lt;br /&gt;
* [[SQL-Object]] - Datenbank-Realisierung&lt;br /&gt;
* [[CherryPy]] - dynamischen Content-Generierung&lt;br /&gt;
* [[Kid]] - XML-basiertes Template-System&lt;br /&gt;
* [[MochiKit]] - Javascript Bibliothek (um z.B. [[Ajax]]-basierte Web-Sites zu generieren)&lt;br /&gt;
&lt;br /&gt;
=Grundlagen=&lt;br /&gt;
&#039;&#039;&#039;TurboGears&#039;&#039;&#039; stellt einen Web-Server und eine Datenbankanbindung bereit, die sich sehr schnell installieren und starten lassen. Die Datenbank wird auf Basis eines Model-Moduls erstellt und lässt sich ohne SQL-Befehle direkt über [[Python]]-Befehle verwalten. In einem Controller-Modul können Methoden für die Templates definiert werden, die dann dementsprechend validen XHTML-Code erstellen.&lt;br /&gt;
&lt;br /&gt;
Ein 20-minütiges [http://harry.turbogears.org/video/20MinuteWiki2nd.mov Tutorial Video] erklärt anhand der Erstellung eines einfachen Wikis die grundlegenden Funktionen des [[Frameworks]].&lt;br /&gt;
&lt;br /&gt;
=Quelle=&lt;br /&gt;
&lt;br /&gt;
*[http://www.turbogears.org/ Offizielle TurboGears Website]&lt;br /&gt;
&lt;br /&gt;
=Weiterführende Links=&lt;br /&gt;
*[http://www.python.org/ Offizielle Python Website]&lt;br /&gt;
*[http://kid.lesscode.org/ Offizielle KID Website]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;br /&gt;
&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12029</id>
		<title>Ruby (Programmiersprache)</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12029"/>
		<updated>2008-07-09T21:29:59Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Definition =&lt;br /&gt;
Ruby ist eine objekt-orientierte Skriptsprache die Syntaxelemente von Perl mit Features von Smalltalk kombiniert.&lt;br /&gt;
Ruby wurde in Japan von Yukihiro &amp;quot;Matz&amp;quot; Matsumoto entwickelt und 1995 in der ersten Version Veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
* Plattformübergreifend verwendbar&lt;br /&gt;
* Objekt-orientiert&lt;br /&gt;
* Unterstüzung für Reguläre Ausdrücke auf Sprachebene&lt;br /&gt;
* Automatische Garbage Collection&lt;br /&gt;
* Alle Datentypen sind Objekte (auch Primitive)&lt;br /&gt;
&lt;br /&gt;
= Ruby Shell =&lt;br /&gt;
Bei jeder Ruby-Installation ist eine Shell enthalten.&lt;br /&gt;
Die &#039;&#039;irb&#039;&#039;-Shell (&amp;quot;Interactive Ruby&amp;quot;) kann verwendet werden um schnell und einfach Ausdrücke zu testen.&lt;br /&gt;
&lt;br /&gt;
= Beispiele = &lt;br /&gt;
&lt;br /&gt;
Integer:&lt;br /&gt;
  irb(main):001:0&amp;gt; n = 2 * 3 + 2&lt;br /&gt;
  =&amp;gt; 8&lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; Fixnum&lt;br /&gt;
&lt;br /&gt;
String:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt;n = &amp;quot;Hallo &amp;quot; * 3&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo Hallo Hallo &lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; String&lt;br /&gt;
  irb(main):003:0&amp;gt; n[0,5]&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo&lt;br /&gt;
&lt;br /&gt;
Schleifen:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = 0&lt;br /&gt;
  =&amp;gt; 0&lt;br /&gt;
  irb(main):002:0&amp;gt; 1.upto(5) do |i| a = a + i end&lt;br /&gt;
  =&amp;gt; 1&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
Listen und Iterator:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = [ &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot; ]&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot;]&lt;br /&gt;
  irb(main):002:0&amp;gt; a.pop&lt;br /&gt;
  =&amp;gt; &amp;quot;21&amp;quot;&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;]&lt;br /&gt;
  irb(main):004:0&amp;gt; a.each do |c| puts c.class end&lt;br /&gt;
  String&lt;br /&gt;
  String&lt;br /&gt;
  Fixnum&lt;br /&gt;
  String&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.ruby-lang.org/ Ruby Website]&lt;br /&gt;
* Armin Roehrl und Stefan Schmiedl (2004): Big in Japan. Linux-Magazin Sonderheft Scripting Edition, Linux New Media AG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.ruby-lang.org/ Ruby Website]&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12028</id>
		<title>Ruby (Programmiersprache)</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_(Programmiersprache)&amp;diff=12028"/>
		<updated>2008-07-09T21:21:57Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Definition =&lt;br /&gt;
Ruby ist eine objekt-orientierte Skriptsprache die Syntaxelemente von Perl mit Features von Smalltalk kombiniert.&lt;br /&gt;
Ruby wurde in Japan von Yukihiro &amp;quot;Matz&amp;quot; Matsumoto entwickelt und 1995 in der ersten Version Veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
* Plattformübergreifend verwendbar&lt;br /&gt;
* Objekt-orientiert&lt;br /&gt;
* Unterstüzung für Reguläre Ausdrücke auf Sprachebene&lt;br /&gt;
* Automatische Garbage Collection&lt;br /&gt;
* Alle Datentypen sind Objekte (auch Primitive)&lt;br /&gt;
&lt;br /&gt;
= Ruby Shell =&lt;br /&gt;
Bei jeder Ruby-Installation ist eine Shell enthalten.&lt;br /&gt;
Die &#039;&#039;irb&#039;&#039;-Shell (&amp;quot;Interactive Ruby&amp;quot;) kann verwendet werden um schnell und einfach Ausdrücke zu testen.&lt;br /&gt;
&lt;br /&gt;
= Beispiele = &lt;br /&gt;
&lt;br /&gt;
Integer:&lt;br /&gt;
  irb(main):001:0&amp;gt; n = 2 * 3 + 2&lt;br /&gt;
  =&amp;gt; 8&lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; Fixnum&lt;br /&gt;
&lt;br /&gt;
String:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt;n = &amp;quot;Hallo &amp;quot; * 3&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo Hallo Hallo &lt;br /&gt;
  irb(main):002:0&amp;gt; n.class&lt;br /&gt;
  =&amp;gt; String&lt;br /&gt;
  irb(main):003:0&amp;gt; n[0,5]&lt;br /&gt;
  =&amp;gt; &amp;quot;Hallo&lt;br /&gt;
&lt;br /&gt;
Schleifen:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = 0&lt;br /&gt;
  =&amp;gt; 0&lt;br /&gt;
  irb(main):002:0&amp;gt; 1.upto(5) do |i| a = a + i end&lt;br /&gt;
  =&amp;gt; 1&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
Listen und Iterator:&lt;br /&gt;
&lt;br /&gt;
  irb(main):001:0&amp;gt; a = [ &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot; ]&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;, &amp;quot;21&amp;quot;]&lt;br /&gt;
  irb(main):002:0&amp;gt; a.pop&lt;br /&gt;
  =&amp;gt; &amp;quot;21&amp;quot;&lt;br /&gt;
  irb(main):003:0&amp;gt; a&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;]&lt;br /&gt;
  irb(main):004:0&amp;gt; a.each do |c| puts c.class end&lt;br /&gt;
  String&lt;br /&gt;
  String&lt;br /&gt;
  Fixnum&lt;br /&gt;
  String&lt;br /&gt;
  =&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 2, &amp;quot;z&amp;quot;&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12027</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12027"/>
		<updated>2008-07-09T20:54:19Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework für die Programmiersprache [[Ruby]]. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
* app  -  Enthält Komponenten der Application&lt;br /&gt;
** controllers  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
** helpers      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
** models       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
** views        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
* db - Datenbankklassen&lt;br /&gt;
* lib - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
* public - Ordner statische files&lt;br /&gt;
* test - Ordner fuer automatische tests&lt;br /&gt;
* vendor - Ordner fuer 3rd party libs&lt;br /&gt;
* config - Konfigurationsdateien&lt;br /&gt;
* doc - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
* log - Error logs werden hier gespeichert&lt;br /&gt;
* script - Tools fuer rails (z.b. server start)&lt;br /&gt;
* tmp - Temporäre dateien&lt;br /&gt;
* README&lt;br /&gt;
* Rakefile - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
= Model anlegen =&lt;br /&gt;
&lt;br /&gt;
Für die Erstellung eines Models wird ebenfalls das &#039;&#039;generate&#039;&#039; Skript verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate model ModelName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird die Datei für das Model und die Migration Datei zu Erstellung der Datenbank erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs im HTML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Wofür dient das Model=&lt;br /&gt;
&lt;br /&gt;
Das Model dient im Allgemeinen zum Zugriff auf externe Daten, wie z.B. Datenbanken und Dateien, um sie in einem Ruby on Rails Projekt verwenden zu können. Alle Models sind in dem Verzeichnis &#039;&#039;/app/model&#039;&#039; abgelegt.&lt;br /&gt;
&lt;br /&gt;
Der Standardfall ist, dass der Zugriff auf eine Tabelle in einer Datenbank durch ein Model realisiert wird.  Bei der Erstellung eines solchen Models ist es Konvention, dass die Tabelle im Plural und das Model und die Klasse für die Tabelle im Singular erzeugt werden. Es werden mehrere Datenbanken unterstützt, eine genaue Liste ist auf der Wikipedia Seite zu finden. Die Daten für den Datenbankzugriff sind in der Datei &#039;&#039;config/database.yml&#039;&#039; gespeichert. Mit dem Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::create&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
kann die Datenbank erstellt werden. &lt;br /&gt;
&lt;br /&gt;
In der Migration-Datei kann das Create Script für die Tabelle erstellt werden. Ein Beispiel für solch eine Migration-Datei wäre:&lt;br /&gt;
  class CreateCarts &amp;lt; ActiveRecord::Migration&lt;br /&gt;
    def self.up&lt;br /&gt;
      create_table :carts do |t|&lt;br /&gt;
        t.column :customer_id, :integer&lt;br /&gt;
        t.column :product_id, :integer&lt;br /&gt;
        t.column :quantity, :integer&lt;br /&gt;
        t.timestamps&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    def self.down&lt;br /&gt;
      drop_table :carts&lt;br /&gt;
    end&lt;br /&gt;
  end &lt;br /&gt;
&lt;br /&gt;
Um die Create Scripts in SQL umzusetzen und auf der Tabelle auszuführen dient der Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::migrate&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Klasse von einer Tabelle wird von der Klasse ActiveRecord::Base abgeleitet. Diese ActiveRecord::Base Klasse enthält und erzeugt automatisch Funktionen, um mit der Tabelle ähnlich arbeiten zu können wie mit einem Objekt. Die erstellten Funktionen sind:&lt;br /&gt;
* Für jede Spalte eine Funktion zum Zugriff und Setzen des Wertes z.B. Cart.quantity. &lt;br /&gt;
* Eine save (create), update und destroy, delete (drop) Funktion für die Tabelle.&lt;br /&gt;
* find(ID) und find(.all) zum Suchen in der Tabelle.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Parameter &#039;&#039;belongs_to :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039;, &#039;&#039;has_one :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039; (1:1), &#039;&#039;has_many :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; 1:n) und &#039;&#039;has_and_belongs_to_many  :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; (n:n) können die Relationen (Fremdschlüsselbeziehungen) in einer Datenbank auf das Model abgebildet werden. Belongs_to muss in das Model der Tabelle eingefügt werden, in der der Fremdschlüssels steht. Die anderen zwei Befehle has_one und has_many geben in dem Model, auf das sich der Fremdschlüssel bezieht, an, wie oft es in der Relation vorkommen darf. Has_and_belongs_to_many muss in beide Models gleich eingetragen werden. Wichig hierbei ist das beachtet wird, wann die Tabelle im Singular oder wann im Plural geschrieben werden muss. &lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
*[http://blog.mmpreview.nl/uploads/ruby/Agile%20Web%20Development%20With%20Rails,%202nd%20Edition%20(2006).pdf Agiles Web Development with Rails]&lt;br /&gt;
*[http://www.galileocomputing.de/openbook/ruby_on_rails/ Ruby on Rails 2]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
Seiten die in Ruby on Rails entwickelt wurden:&lt;br /&gt;
*[http://www.twitter.com http://www.twitter.com]&lt;br /&gt;
*[http://www.xing.com http://www.xing.com]&lt;br /&gt;
*[http://www.spickmich.de http://www.spickmich.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12026</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12026"/>
		<updated>2008-07-09T20:53:27Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
* app  -  Enthält Komponenten der Application&lt;br /&gt;
** controllers  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
** helpers      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
** models       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
** views        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
* db - Datenbankklassen&lt;br /&gt;
* lib - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
* public - Ordner statische files&lt;br /&gt;
* test - Ordner fuer automatische tests&lt;br /&gt;
* vendor - Ordner fuer 3rd party libs&lt;br /&gt;
* config - Konfigurationsdateien&lt;br /&gt;
* doc - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
* log - Error logs werden hier gespeichert&lt;br /&gt;
* script - Tools fuer rails (z.b. server start)&lt;br /&gt;
* tmp - Temporäre dateien&lt;br /&gt;
* README&lt;br /&gt;
* Rakefile - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
= Model anlegen =&lt;br /&gt;
&lt;br /&gt;
Für die Erstellung eines Models wird ebenfalls das &#039;&#039;generate&#039;&#039; Skript verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate model ModelName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird die Datei für das Model und die Migration Datei zu Erstellung der Datenbank erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs im HTML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Wofür dient das Model=&lt;br /&gt;
&lt;br /&gt;
Das Model dient im Allgemeinen zum Zugriff auf externe Daten, wie z.B. Datenbanken und Dateien, um sie in einem Ruby on Rails Projekt verwenden zu können. Alle Models sind in dem Verzeichnis &#039;&#039;/app/model&#039;&#039; abgelegt.&lt;br /&gt;
&lt;br /&gt;
Der Standardfall ist, dass der Zugriff auf eine Tabelle in einer Datenbank durch ein Model realisiert wird.  Bei der Erstellung eines solchen Models ist es Konvention, dass die Tabelle im Plural und das Model und die Klasse für die Tabelle im Singular erzeugt werden. Es werden mehrere Datenbanken unterstützt, eine genaue Liste ist auf der Wikipedia Seite zu finden. Die Daten für den Datenbankzugriff sind in der Datei &#039;&#039;config/database.yml&#039;&#039; gespeichert. Mit dem Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::create&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
kann die Datenbank erstellt werden. &lt;br /&gt;
&lt;br /&gt;
In der Migration-Datei kann das Create Script für die Tabelle erstellt werden. Ein Beispiel für solch eine Migration-Datei wäre:&lt;br /&gt;
  class CreateCarts &amp;lt; ActiveRecord::Migration&lt;br /&gt;
    def self.up&lt;br /&gt;
      create_table :carts do |t|&lt;br /&gt;
        t.column :customer_id, :integer&lt;br /&gt;
        t.column :product_id, :integer&lt;br /&gt;
        t.column :quantity, :integer&lt;br /&gt;
        t.timestamps&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    def self.down&lt;br /&gt;
      drop_table :carts&lt;br /&gt;
    end&lt;br /&gt;
  end &lt;br /&gt;
&lt;br /&gt;
Um die Create Scripts in SQL umzusetzen und auf der Tabelle auszuführen dient der Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::migrate&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Klasse von einer Tabelle wird von der Klasse ActiveRecord::Base abgeleitet. Diese ActiveRecord::Base Klasse enthält und erzeugt automatisch Funktionen, um mit der Tabelle ähnlich arbeiten zu können wie mit einem Objekt. Die erstellten Funktionen sind:&lt;br /&gt;
* Für jede Spalte eine Funktion zum Zugriff und Setzen des Wertes z.B. Cart.quantity. &lt;br /&gt;
* Eine save (create), update und destroy, delete (drop) Funktion für die Tabelle.&lt;br /&gt;
* find(ID) und find(.all) zum Suchen in der Tabelle.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Parameter &#039;&#039;belongs_to :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039;, &#039;&#039;has_one :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039; (1:1), &#039;&#039;has_many :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; 1:n) und &#039;&#039;has_and_belongs_to_many  :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; (n:n) können die Relationen (Fremdschlüsselbeziehungen) in einer Datenbank auf das Model abgebildet werden. Belongs_to muss in das Model der Tabelle eingefügt werden, in der der Fremdschlüssels steht. Die anderen zwei Befehle has_one und has_many geben in dem Model, auf das sich der Fremdschlüssel bezieht, an, wie oft es in der Relation vorkommen darf. Has_and_belongs_to_many muss in beide Models gleich eingetragen werden. Wichig hierbei ist das beachtet wird, wann die Tabelle im Singular oder wann im Plural geschrieben werden muss. &lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
*[http://blog.mmpreview.nl/uploads/ruby/Agile%20Web%20Development%20With%20Rails,%202nd%20Edition%20(2006).pdf Agiles Web Development with Rails]&lt;br /&gt;
*[http://www.galileocomputing.de/openbook/ruby_on_rails/ Ruby on Rails 2]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
Seiten die in Ruby on Rails entwickelt wurden:&lt;br /&gt;
*[http://www.twitter.com http://www.twitter.com]&lt;br /&gt;
*[http://www.xing.com http://www.xing.com]&lt;br /&gt;
*[http://www.spickmich.de http://www.spickmich.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12025</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=12025"/>
		<updated>2008-07-09T20:52:51Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
* app  -  Enthält Komponenten der Application&lt;br /&gt;
** controllers  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
** helpers      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
** models       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
** views        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
* db - Datenbankklassen&lt;br /&gt;
* lib - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
* public - Ordner statische files&lt;br /&gt;
* test - Ordner fuer automatische tests&lt;br /&gt;
* vendor - Ordner fuer 3rd party libs&lt;br /&gt;
* config - Konfigurationsdateien&lt;br /&gt;
* doc - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
* log - Error logs werden hier gespeichert&lt;br /&gt;
* script - Tools fuer rails (z.b. server start)&lt;br /&gt;
* tmp - Temporäre dateien&lt;br /&gt;
* README&lt;br /&gt;
* Rakefile - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
= Model anlegen =&lt;br /&gt;
&lt;br /&gt;
Für die Erstellung eines Models wird ebenfalls das &#039;&#039;generate&#039;&#039; Skript verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ruby script/generate model ModelName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird die Datei für das Model und die Migration Datei zu Erstellung der Datenbank erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs im HTML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Wofür dient das Model=&lt;br /&gt;
&lt;br /&gt;
Das Model dient im Allgemeinen zum Zugriff auf externe Daten, wie z.B. Datenbanken und Dateien, um sie in einem Ruby on Rails Projekt verwenden zu können. Alle Models sind in dem Verzeichnis &#039;&#039;/app/model&#039;&#039; abgelegt.&lt;br /&gt;
&lt;br /&gt;
Der Standardfall ist, dass der Zugriff auf eine Tabelle in einer Datenbank durch ein Model realisiert wird.  Bei der Erstellung eines solchen Models ist es Konvention, dass die Tabelle im Plural und das Model und die Klasse für die Tabelle im Singular erzeugt werden. Es werden mehrere Datenbanken unterstützt, eine genaue Liste ist auf der Wikipedia Seite zu finden. Die Daten für den Datenbankzugriff sind in der Datei &#039;&#039;config/database.yml&#039;&#039; gespeichert. Mit dem Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::create&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
kann die Datenbank erstellt werden. &lt;br /&gt;
&lt;br /&gt;
In der Migration-Datei kann das Create Script für die Tabelle erstellt werden. Ein Beispiel für solch eine Migration-Datei wäre:&lt;br /&gt;
  class CreateCarts &amp;lt; ActiveRecord::Migration&lt;br /&gt;
    def self.up&lt;br /&gt;
      create_table :carts do |t|&lt;br /&gt;
        t.column :customer_id, :integer&lt;br /&gt;
        t.column :product_id, :integer&lt;br /&gt;
        t.column :quantity, :integer&lt;br /&gt;
        t.timestamps&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    def self.down&lt;br /&gt;
      drop_table :carts&lt;br /&gt;
    end&lt;br /&gt;
  end &lt;br /&gt;
&lt;br /&gt;
Um die Create Scripts in SQL umzusetzen und auf der Tabelle auszuführen dient der Rakebefehl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;rake db::migrate&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Klasse von einer Tabelle wird von der Klasse ActiveRecord::Base abgeleitet. Diese ActiveRecord::Base Klasse enthält und erzeugt automatisch Funktionen, um mit der Tabelle ähnlich arbeiten zu können wie mit einem Objekt. Die erstellten Funktionen sind:&lt;br /&gt;
* Für jede Spalte eine Funktion zum Zugriff und Setzen des Wertes z.B. Cart.quantity. &lt;br /&gt;
* Eine save (create), update und destroy, delete (drop) Funktion für die Tabelle.&lt;br /&gt;
* find(ID) und find(.all) zum Suchen in der Tabelle.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Parameter &#039;&#039;belongs_to :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039;, &#039;&#039;has_one :&amp;lt;Tabelle_im_Singular&amp;gt;&#039;&#039; (1:1), &#039;&#039;has_many :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; 1:n) und &#039;&#039;has_and_belongs_to_many  :&amp;lt;Tabelle_im_Plural&amp;gt;&#039;&#039; (n:n) können die Relationen (Fremdschlüsselbeziehungen) in einer Datenbank auf das Model abgebildet werden. Belongs_to muss in das Model der Tabelle eingefügt werden, in der der Fremdschlüssels steht. Die anderen zwei Befehle has_one und has_many geben in dem Model, auf das sich der Fremdschlüssel bezieht, an, wie oft es in der Relation vorkommen darf. Has_and_belongs_to_many muss in beide Models gleich eingetragen werden. Wichig hierbei ist das beachtet wird, wann die Tabelle im Singular oder wann im Plural geschrieben werden muss. &lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
*[http://blog.mmpreview.nl/uploads/ruby/Agile%20Web%20Development%20With%20Rails,%202nd%20Edition%20(2006).pdf Agiles Web Development with Rails]&lt;br /&gt;
*[http://www.galileocomputing.de/openbook/ruby_on_rails/ Ruby on Rails 2]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
Seiten die in Ruby on Rails entwickelt wurden:&lt;br /&gt;
*[http://www.twitter.com]&lt;br /&gt;
*[http://www.xing.com]&lt;br /&gt;
*[http://www.spickmich.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Model-View-Controller-Paradigma&amp;diff=12024</id>
		<title>Model-View-Controller-Paradigma</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Model-View-Controller-Paradigma&amp;diff=12024"/>
		<updated>2008-07-09T20:50:21Z</updated>

		<summary type="html">&lt;p&gt;Meberl: /* Anwendungsgebiete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
Das [[Model-View-Controller-Paradigma]] oder [[Model-View-Controller-Pattern|-Pattern]], kurz [[MVC]],  bezeichnet ein Architekturmuster zur Trennung eines Programms in drei separate Einheiten: &lt;br /&gt;
[[Datenmodell]] ([[Model (MVC)|Model]]), [[Präsentation]] ([[View (MVC)|View]]) und [[Programmsteuerung]] ([[Controller (MVC)|Controller]]).&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
==Geschichte==&lt;br /&gt;
In den Anfängen der Informatik war es nicht unüblich [[Spaghetti-Code]] zu entwickeln, was mit vielen Nachteilen verbunden ist. Erst die Einführung der strukturierten Programmierung in den 70ern und später die objektorientierte Programmierung in den 80ern schaffte Abhilfe und ermöglichte das Programmieren nach dem Model-View-Controller Paradigma.&lt;br /&gt;
&lt;br /&gt;
Ursprünglich wurde das MVC-Paradigma 1978/79 von der Firma Xerox für die [[GUI]]-Programmierung eingeführt. Zum Einsatz kam die damals ebenfalls von Xerox entwickelte [[Objektorientierung|objektorientierte]] Programmiersprache [[Smalltalk|Smalltalk]].&lt;br /&gt;
&lt;br /&gt;
In neueren Programmiersprachen wie [[Java]] kommt MVC ebenfalls bei der [[GUI]]-Programmierung zum Einsatz. MVC ist heute allgemeiner Standard beim Entwurf komplexer Softwaresysteme, bei denen die Anwendungslogik von anderen Teilen des Systems getrennt werden soll.&lt;br /&gt;
&lt;br /&gt;
Eine Variante ist &#039;&#039;&#039;MVC2&#039;&#039;&#039; (MVC Model 2 bzw. MVC Version 2), die speziell für Webanwendungen gedacht ist.&lt;br /&gt;
&lt;br /&gt;
==Vorteile==&lt;br /&gt;
&lt;br /&gt;
Das MVC-Paradigma ermöglicht ein flexibles Programmdesign, welches die Wiederverwendbarkeit der einzelnen Komponenten und eine reduzierte Komplexität gewährleistet, insbesondere bei großen Anwendungen. Folgende Vorteile ergeben sich hieraus:&lt;br /&gt;
&lt;br /&gt;
* Gut strukturiertes Design durch klare Trennung der Anwendungslogik von den dazugehörenden Daten und der Benutzerinteraktion.&lt;br /&gt;
* Änderungen an einer Komponente sind möglich, ohne dass andere Komponenten davon betroffen werden; sogar ganze Komponenten können ausgetauscht werden.&lt;br /&gt;
* Mehrere Ansichten des Systems können durch Austausch verschiedener Views realisiert werden.&lt;br /&gt;
* Im Fehlerfall ist die Suche nach dem Fehler in der Regel auf eine Komponente beschränkt.&lt;br /&gt;
* Erweiterbarkeit bestehender Systeme, indem neue Komponenten hinzugefügt werden. Alte Komponenten können aus Kompatibilitätsgründen erhalten bleiben.&lt;br /&gt;
&lt;br /&gt;
Insgesamt sind Programmcode und Komponenten übersichtlicherer und einfacher zu warten, zu ändern und auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==Nachteile==&lt;br /&gt;
Auch wenn die Vorteile überwiegen, gibt es dennoch ein paar Nachteile:&lt;br /&gt;
* Bei der Planung und Implementierung ist wesentlich mehr Gründlichkeit erforderlich.&lt;br /&gt;
* Erheblicher Mehraufwand bei kleinen Applikationen. Dieser Aufwand rechtfertigt andere Programmweisen.&lt;br /&gt;
&lt;br /&gt;
==Konzept==&lt;br /&gt;
Es gibt kein hundertprozentiges Patentrezept, wie MVC umzusetzen ist. Je nach Anwendungsgebiet sind manche Komponenten wichtiger als andere. Auch kann nicht immer pauschal festgelegt werden, wo gewisse Funktionen eindeutig hingehören, da weitere Aspekte der Planung und des Entwurfs die Entscheidung beeinflussen können. Zum Beispiel kann es sinnvoll sein, aus Sicherheitsgründen eine Benutzerauthentifizierung einer Webanwendung nicht im Controller sondern im Modell abzulegen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Im Prinzip lassen sich die Bereiche jedoch grob eingrenzen:&lt;br /&gt;
&lt;br /&gt;
===Model===&lt;br /&gt;
Das Modell speichert als zentrale Komponente sämtliche Daten und enthält die Applikationslogik. Die Kommunikation nach außen (außerhalb der Anwendung) findet ebenso im Modell statt. Beispielsweise Zugriffe auf Datenbanken oder auch Kommunikation mit anderen Anwendungen. Zudem speichert das Modell den aktuellen Anwendungsstatus, also den Zustand, in dem sich die Anwendung bei der Interaktion mit dem Benutzer befindet.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Aufgabe des Modells ist das Verwalten der Views, die es zu benachrichtigen gilt, wenn sich der Zustand des Modells ändert. Änderungen werden unmittelbar mitgeteilt. Oftmals wird hierfür das [[Observer Design Pattern | Observer Design Pattern]] verwendet.&lt;br /&gt;
&lt;br /&gt;
===View===&lt;br /&gt;
Die View ist die zuständige Komponente für die Ausgabe und bildet eine Abstraktionsschicht zwischen der Präsentation der Anwendung, dem Modell und dem Benutzer. Es können mehrere Views ein und dasselbe Modell auf technische oder optische Art und Weise repräsentieren. Verschiedene logische Sichtweisen bleiben dem Modell vorbehalten (bspw. verschiedene Benutzeransichten: Administrator, Normaluser).&lt;br /&gt;
&lt;br /&gt;
===Controller===&lt;br /&gt;
Der Controller nimmt Eingaben aus verschiedensten Quellen entgegen und leitet diese standardisiert auf das Modell weiter. Er ist somit eine weitere Abstraktionsschicht, der Interaktionen des Benutzers mit der View wieder dem Modell zuführt. &lt;br /&gt;
&lt;br /&gt;
==Anwendungsgebiete==&lt;br /&gt;
* allgemein: größere Softwareprojekte&lt;br /&gt;
* [[GUI|GUI]]-Programmierung (bspw. [[Framework|Frameworks]] wie [[Swing|Swing]])&lt;br /&gt;
* Webanwendungen (bspw. [[Framework|Frameworks]] wie [[Ruby on Rails]])&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
*[[Reenskaug, T. (1979): Thing-Model-View-Editor]] (Erste Notiz mit exemplarischen Beispielen)&lt;br /&gt;
*[[Reenskaug, T. (1979a): Models-Views-Controllers]] (Grundlegende Definition von MVC)&lt;br /&gt;
*[[Reenskaug, T. (2003): The Model-View-Controller (MVC). Its Past and Present]]&lt;br /&gt;
*[[Stoiber, D. (2005): Implementierung des Model-View-Controller Paradigmas]]&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
*[http://heim.ifi.uio.no/~trygver/index.html Homepage von Trygve M. H. Reenskaug, Erfinder von MVC]&lt;br /&gt;
*[http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html Reenskaugs eigene Seite über MVC ]&lt;br /&gt;
*[[Wikipedia:MVC]]&lt;br /&gt;
&lt;br /&gt;
[[en:GlossaryWiki:MVC]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11903</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11903"/>
		<updated>2008-07-02T09:38:05Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
* app  -  Enthält Komponenten der Application&lt;br /&gt;
** controllers  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
** helpers      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
** models       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
** views        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
* db - Datenbankklassen&lt;br /&gt;
* lib - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
* public - Ordner statische files&lt;br /&gt;
* test - Ordner fuer automatische tests&lt;br /&gt;
* vendor - Ordner fuer 3rd party libs&lt;br /&gt;
* config - Konfigurationsdateien&lt;br /&gt;
* doc - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
* log - Error logs werden hier gespeichert&lt;br /&gt;
* script - Tools fuer rails (z.b. server start)&lt;br /&gt;
* tmp - Temporäre dateien&lt;br /&gt;
* README&lt;br /&gt;
* Rakefile - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;./script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs im HTML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11902</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11902"/>
		<updated>2008-07-02T09:34:11Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
  * **app**  -  Enthält Komponenten der Application&lt;br /&gt;
    * **controllers**  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
    * **helpers**      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
    * **models**       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
    * **views**        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
  * **db** - Datenbankklassen&lt;br /&gt;
  * **lib** - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
  * **public** - Ordner statische files&lt;br /&gt;
  * **test** - Ordner fuer automatische tests&lt;br /&gt;
  * **vendor** - Ordner fuer 3rd party libs&lt;br /&gt;
  * **config** - Konfigurationsdateien&lt;br /&gt;
  * **doc** - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
  * **log** - Error logs werden hier gespeichert&lt;br /&gt;
  * **script** - Tools fuer rails (z.b. server start)&lt;br /&gt;
  * **tmp** - Temporäre dateien&lt;br /&gt;
  * **README**&lt;br /&gt;
  * **Rakefile** - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;./script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs im HTML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11899</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11899"/>
		<updated>2008-07-02T09:32:11Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
  * **app**  -  Enthält Komponenten der Application&lt;br /&gt;
    * **controllers**  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
    * **helpers**      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
    * **models**       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
    * **views**        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
  * **db** - Datenbankklassen&lt;br /&gt;
  * **lib** - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
  * **public** - Ordner statische files&lt;br /&gt;
  * **test** - Ordner fuer automatische tests&lt;br /&gt;
  * **vendor** - Ordner fuer 3rd party libs&lt;br /&gt;
  * **config** - Konfigurationsdateien&lt;br /&gt;
  * **doc** - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
  * **log** - Error logs werden hier gespeichert&lt;br /&gt;
  * **script** - Tools fuer rails (z.b. server start)&lt;br /&gt;
  * **tmp** - Temporäre dateien&lt;br /&gt;
  * **README**&lt;br /&gt;
  * **Rakefile** - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;./script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Aufrufs sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11887</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11887"/>
		<updated>2008-07-02T09:00:46Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Philosophie=&lt;br /&gt;
&#039;&#039;&#039;Convention over Configuration:&#039;&#039;&#039; &lt;br /&gt;
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Don&#039;t repeat yourself:&#039;&#039;&#039; &lt;br /&gt;
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren.&lt;br /&gt;
Dies geschieht dann an nur einer Stelle.&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Projekt erzeugen: =&lt;br /&gt;
&lt;br /&gt;
rails --database DBTYPE ApplicationName&lt;br /&gt;
&lt;br /&gt;
Erzeugte Verzeichnisse und Dateien:&lt;br /&gt;
 &lt;br /&gt;
  * **app**  -  Enthält Komponenten der Application&lt;br /&gt;
    * **controllers**  - Controller klassen, bearbeitet Benutzer anfragen &lt;br /&gt;
    * **helpers**      - Hilfsklassen die zur unterstüzung dienen&lt;br /&gt;
    * **models**       - Datenmodel und Schnittstelle zur Datenbank&lt;br /&gt;
    * **views**        - Templates, liefert das Ergebnis an den Benutzer zurück&lt;br /&gt;
  * **db** - Datenbankklassen&lt;br /&gt;
  * **lib** - Ordner fuer zusätliche bibliotheken&lt;br /&gt;
  * **public** - Ordner statische files&lt;br /&gt;
  * **test** - Ordner fuer automatische tests&lt;br /&gt;
  * **vendor** - Ordner fuer 3rd party libs&lt;br /&gt;
  * **config** - Konfigurationsdateien&lt;br /&gt;
  * **doc** - Zielordner fuer die von RubyDoc generierte Dokumentation&lt;br /&gt;
  * **log** - Error logs werden hier gespeichert&lt;br /&gt;
  * **script** - Tools fuer rails (z.b. server start)&lt;br /&gt;
  * **tmp** - Temporäre dateien&lt;br /&gt;
  * **README**&lt;br /&gt;
  * **Rakefile** - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Controller und View anlegen =&lt;br /&gt;
&lt;br /&gt;
Um einen neuen Controller und View zu erstellen kann das &#039;&#039;generate&#039;&#039; Skript verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;./script/generate controller ControllerName ActionName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.&lt;br /&gt;
&lt;br /&gt;
=Was enthält eine View=&lt;br /&gt;
&lt;br /&gt;
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert.&lt;br /&gt;
Alle Views sind im Verzeichnis &#039;&#039;app/view/&#039;&#039;. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers.&lt;br /&gt;
Vor der Version 2.0 war die Dateiendung von views &#039;&#039;.rhtml&#039;&#039;, aktuell ist allerdings &#039;&#039;.html.erb&#039;&#039;.&lt;br /&gt;
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.&lt;br /&gt;
&lt;br /&gt;
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags &amp;lt;% %&amp;gt; und &amp;lt;%= %&amp;gt; werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.&lt;br /&gt;
&lt;br /&gt;
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links :&lt;br /&gt;
&amp;lt;%= link_to &amp;quot;Login&amp;quot; , :action =&amp;gt; :login %&amp;gt;&lt;br /&gt;
Das Ergebnis dieses Aufrufs sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;/webshop/login&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11875</id>
		<title>Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Ruby_on_Rails&amp;diff=11875"/>
		<updated>2008-07-01T18:49:27Z</updated>

		<summary type="html">&lt;p&gt;Meberl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von &lt;br /&gt;
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]].&lt;br /&gt;
&lt;br /&gt;
=Bemerkungen=&lt;br /&gt;
&lt;br /&gt;
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt.&lt;br /&gt;
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]].&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[http://www.rubyonrails.com/ Ruby on Rails Website]&lt;br /&gt;
*[http://www.37signals.com/ 37signals]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Content-Management-System]]&lt;br /&gt;
[[Kategorie:Web-Programmierung]]&lt;br /&gt;
{{{{SITENAME}}-konformer Artikel}}&lt;br /&gt;
{{Quellenangaben verbessern&lt;br /&gt;
| Formatierung        = true&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Meberl</name></author>
	</entry>
</feed>