Gewinnspiel: …and the winners are

Die Sieger unseres Gewinnspiels stehen fest!

Die drei Rails-Kochbücher haben nun einen Besitzer.

Das Los hat entschieden und folgende drei Teilnehmer zum glücklichen Gewinner gemacht.

Die Gewinner:

Guido P. aus Hürth
Sebastian R. aus Meerbeck
Garret A. aus Oldenburg

Wir möchten den Gewinnern dazu ganz herzlich gratulieren und werden Ihre Preise so schnell wie möglich zukommen lassen.

Wir danken allen anderen für Ihre Teilnahme und wünschen schonmal viel Glück für das nächste Gewinnspiel, dass nicht lange auf sich warten lassen wird. 🙂

Euer rubyonrails.de-Team

Professionelle Webentwicklung mit Ruby on Rails 2. Das Praxisbuch fĂĽr Entwickler

Ruby on Rails hat sich in Windeseile zu einem beliebten Framework entwickelt. Jens-Christian Fischer richtet sich an ambitionierte Einsteiger und gibt Ihnen einen praxisbezogenen Einstieg in die Entwicklung von Webanwendungen. Der Leser wird Schritt für Schritt durch das Erstellen von Anwendungen wie z.B. eine „Social Software“ und ein CMS geführt, anhand derer alle Konzepte vermittelt werden.

Ruby on Rails hat sich in Windeseile zu einem der beliebtesten Frameworks für die Erstellung von Webanwendungen entwickelt. Mit kaum einem anderen Framework lassen sich so effektiv und mit so wenig Code funktionsreiche Webseiten erstellen — und mit keinem anderen Framework macht es so viel Spaß versprochen.—

Jens-Christian Fischer richtet sich an ambitionierte Einsteiger und Programmierer und ermöglicht ihnen einen praxisbezogenen Einstieg in die Entwicklung von Webanwendungen mit Ruby on Rails. Im Buch wird eine vollständige Webanwendung mit zahlreichen Funktionen erstellt, anhand derer die im Buch vorgestellten Konzepte sowie fortgeschrittenen Techniken vermittelt werden.—

Im ersten Teil werden zunächst die Grundsteine für die Webanwendung gelegt mit den ersten einfachen Funktionen, damit Sie direkt in die Praxis einsteigen und schnell Ergebnisse sehen können. Dabei wird bereits großer Wert auf das Testen gelegt. In Teil II geht es ans Eingemachte: Fischer erläutert hier insbesondere, wie Intra- und Internetanwendungen professionell entwickelt werden, und zeigt Ihnen hierfür viele relevante Techniken, z.B. die testgetriebene Entwicklung, Behaviour Driven Development und User Stories mit RSpec. Er verwendet neben den Standardfunktionen, die Rails mitbringt, wie REST für das Modellieren von Ressourcen, auch Alternativen wie HAML und SASS für das Erzeugen von HTML oder jQuery für JavaScript- und AJAX-Funktionalit&#auml;t. Gleichzeitig wird die Anwendung um fortgeschrittene Features erweitert: unter anderem die Einbindung einer komfortablen Suchfunktion mit Sphinx. Zu guter Letzt wird die Anwendung für den produktiven Einsatz vorbereitet und das automatische Deployment mit Capistrano erklärt.—

Teil III dient dazu, Ihnen nicht nur die Grundlagen von Ruby näherzubringen, sondern auch weiterführende Themen wie die Metaprogrammierung in Ruby sowie JRuby.—

Der Anhang behandelt ausführlich die Installation von Ruby und Rails unter allen verfügbaren Systemen.—

Wenn Sie wissen wollen, wie Sie aus Rails mehr machen und welche Techniken Sie für professionelle Anwendungen einsetzen kännen, dann werden Sie in diesem Buch fündig. Jens-Christian Fischer lässt Sie an seinem langjährigen Erfahrungsschatz teilhaben. ***

Aus dem Inhalt:

Teil I: Rails praktisch anwenden

– Praxiseinstieg: eine erste einfache Anwendung – Einführung ins Testen – ActiveRecord: mit Modellen arbeiten – Relationen zwischen Objekten herstellen – Navigation und Layout —

Teil II: Rails professionell einsetzen

– Tools für die Arbeitsumgebung: vom Editor bis zur – Versionskontrolle – Behaviour Driven – Development und RSpec – HAML und SASS – REST – User Stories – Erweiterungen für Rails: Plug-ins, Gems, Bibliotheken – Login und Authentisierung – Die Anwendung um Kommentare erweitern – Suchfunktionen integrieren – AJAX mit jQuery – Produktionsumgebung einrichten – Automatisches Deployment mit Capistrano —

Teil III: Ruby

– Ruby-Grundlagen – Metaprogrammierung in Ruby – Alternatives Ruby: JRuby —

Teil IV: Anhänge

– Installation von Ruby und Rails unter Mac 10.4/10.5, Unix/Linux, Windows – Weiterführende Ressourcen

  • Taschenbuch: 624 Seiten
  • Verlag: (2008-06-12 )
  • Preis: 31.95 €
  • Sprache: german
  • ISBN-10: 3826616839
  • Autor(en): Jens-Christian Fischer
  • kaufen

Gewinnspiel: Rails Kochbuch zu gewinnen

In den letzen Wochen haben wir Euch Rezepte aus dem Rails Kochbuch vorgestellt, die Lösungen für das eine oder andere Problem bieten.

Da dies nur ein kleiner Ausschnitt aus dem Buch ist, freuen wir uns, Euch heute die Möglichkeit zu bieten, eins von drei Exemplaren zu gewinnen!

Wie bei Preisausschreiben üblich, müsst Ihr eine kleine Frage richtig beantworten, um an der Verlosung teilnehmen zu können.

Wer sich ein wenig mit Rails beschäftigt hat, wird sicherlich die Lösung kennen 🙂

Aus welchem Land kommt der “Rails-Erfinder” David Heinemeier Hansson?

Schickt Eure Antwort, bis zum 15. Juni 2008, mit Anschrift an railskochbuch@rubyonrails.de

Viel Glück wünscht das rubyonrails.de-Team

Der Rechtsweg ist ausgeschlossen.

Ruby on Rails 2.1: Was ist neu?

Nur eine knappe Woche nach der Veröffentlichung von Rails 2.1 haben die brasilianischen Rails-Kollegen ein PDF raus gebracht, dass alle Änderungen aus diesem Release zusammenfasst.

Damit auch der Rest der Community einen Nutzen von diesem Dokument haben, wurde es auch ins englische übersetzt und zum Download freigegeben.

Also, wer sich einen Überblick über die Veränderungen machen möchte sollte sich dieses Dokument anschauen.

Unser Dank, geht an die Kollegen aus Brasilien für ihre Arbeit und, dass sie es mit allen teilen.

Der Downloadlink: http://www.nomedojogo.com/livro/carlosbrando-rubyonrails21_en.pdf

Die Homepage: http://www.nomedojogo.com/2008/06/09/new-free-book-ruby-on-rails-21-whats-new/

Vollständige CRUD-Anwendungen mit Streamlined generieren

Viele Rails-Anwendungen benötigen einen administrativen Bereich, der es ermöglicht, mit den Daten des Modells und den Beziehungen zwischen den Daten zu arbeiten. Um sich bei jedem Projekt nicht selbst wiederholen zu müssen, suchen Sie eine Möglichkeit, vollständige CRUD-Anwendungen für jedes neue Projekt zu generieren. Weil dies nur administrative Anwendungen sind, müssen sie nicht besonders hübsch sein, und das Standard-Scaffolding von Rails würde fast reichen, aber eben nur fast. Scaffolding ist wirklich hässlich. Darüber hinaus hilft es einem nicht weiter, wenn man eine Reihe von Tabellen pflegen muss, mit Beziehungen zwischen diesen Tabellen. Gibt es da etwas Besseres?

Verwenden Sie das Streamlined-Framework, um eine flexible administrative Schnittstelle für Ihre Anwendung zu erzeugen.

Beginnen Sie mit dem Download und der Installation des streamlined_generator-Gems:
$ wget http://streamlined.relevancellc.com/streamlined_generator-0.0.4.gem
 
$ sudo gem install streamlined_generator-0.0.4.gem

 
Wir wollen annehmen, dass Sie bereits über ein Datenbankschema verfügen. Zum Beispiel besitzen Sie Tabellen namens galleries und paintings, bei der ein Gemälde zu einer Galerie gehört. Erzeugen Sie (falls das noch nicht geschehen ist) eine Rails-Anwendung:
$ rails art_gallery
 

Dann wechseln Sie in das Anwendungsverzeichnis und generieren eine Streamlined-Anwendung mit Hilfe des Streamlined-Generators:
$ cd art_gallery/
 
$ script/generate streamlined gallery painting
 
Sie übergeben dem Generator alle Modelle, die im resultierenden Streamlined-Interface enthalten sein sollen. Sie können nun Ihre Anwendung starten und mit Ihrem Browser zu /galleries oder /paintings wechseln, um auf Ihre Streamlined-Schnittstelle zuzugreifen.

Was Streamlined gegenüber dem normalen Rails-Scaffolding so leistungsfähig macht, ist die Tatsache, dass es Beziehungen erkennt, die Sie zwischen Ihren Modellen herstellen, und dann Widgets einfügt, mit deren Hilfe Sie diese Beziehungen über die Schnittstelle kontrollieren können.
Um eine 1-zu-M-Beziehung zwischen galleries und paintings herzustellen, fügen Sie Folgendes in Ihre Modellklassen-Definitionen ein:
app/models/gallery.rb:
class Gallery < ActiveRecord::Base

  has_many :paintings
 
end
 

app/models/painting.rb:

class Painting < ActiveRecord::Base

  belongs_to :gallery
 
end
 
Im Entwicklungsmodus sehen Sie die hinzugefügte Spalte sowohl im Gallery- als auch im Painting-View, mit Informationen darüber, in welcher Beziehung ein Modell zum anderen steht.

Diskussion

Viele der Rails-Anwendungen, mit denen Sie arbeiten, brauchen administrative Schnittstellen, wie sie von Streamlined erzeugt werden. Dieser Teil einer Site ist für normale Anwender üblicherweise nicht zugänglich und muss visuell nicht wirklich was hermachen, er muss aber funktionieren. Üblicherweise werden damit grundlegende CRUD-Operationen durchgeführt. Während das Rails-Scaffolding als temporäre Struktur gedacht ist, die Sie letztendlich durch eigenen Code ersetzen, wurde die Streamlined-Schnittstelle so entworfen, dass sie produktionsreifen Code generiert.
<|XrefColor>Abbildung 2-5 zeigt die resultierende Streamlined-Schnittstelle, die die Paintings-Listenansicht ausgibt.

Abbildung 2-5
Eine administrative Streamlined-Schnittstelle für Gemälde und Gallerien

Ein erklärtes Ziel der Streamlined-Entwickler besteht darin, das Standard-Scaffolding von Rails durch robustere, nützlichere und sinnvolle Managementseiten zu ersetzen. Wie Sie sehen können, ist die resultierende Schnittstelle wesentlich ansehnlicher als das Standard-Scaffolding. Sie werden es sicher nicht für die Kundenseite Ihrer Website einsetzen wollen, aber es ist mit Sicherheit gut genug für ein Demo und mehr als ausreichend für eine Management-Schnittstelle. Einige der zur Verfügung stehenden Features sind Links auf alle dem Streamlined-Generator übergebenen Modelle, sortierfähige Spalten, ein Suchfilter und eine Schnittstelle für die Editierung der Beziehungen zwischen Modellobjekten.

Ein anderes Ziel des Projekts besteht darin, die Views der Anwendung mit Hilfe einer deklarativen Syntax anpassen zu können, wobei diese Syntax Active Record ähnelt (z.B. belongs_to :gallery). Um zum Beispiel die Art und Weise zu ändern, wie der Gallery-View die zu ihm gehörenden Gemälde darstellt, würden Sie Folgendes in die GalleryUI-Modelldefinition aufnehmen:
app/streamlined/gallery.rb:

class GalleryUI < Streamlined::UI


 
  # relationship :paintings, :summary => :count # Standard


 
  relationship :paintings, :summary => :list, :fields => [:name]

 
end

module GalleryAdditions


 
end

Gallery.class_eval {include GalleryAdditions}
 
Diese Klasse gibt eine Liste der Gemälde für jede Gallerie unter der Paintings-Spalte aus. Die auskommentierte Deklaration gibt die Gesamtzahl zugehörigen painting-Datensätze einer Spalte aus.

Sie können Operationen in den Prototype-Fenstern editieren und betrachten. Diese Fenster basieren auf Code, der durch die script.aculo.us-Effekt-Bibliothek inspiriert wurde. In diesen Fenstern vorgenommene Änderungen aktualisieren die sie anstoßende Seite per Ajax.
Übergeben Sie die Option –help an den Streamlined-Generator, wenn Sie weitere Informationen zu den Nutzungsoptionen wünschen. Besuchen Sie auch das Streamlined-Wiki (http://wiki.streamlinedframework.org/streamlined/show/HomePage).


Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

RDoc fĂĽr Ihre Rails-Anwendung generieren

Sie möchten den Quellcode Ihrer Rails-Anwendung für andere Entwickler, Maintainer und Endbenutzer dokumentieren. Hierzu wollen Sie Kommentare in Ihren Quellcode einfügen und ein Programm ausführen, das diese Programme in eine ansehnliche Form bringt.

Weil eine Rails-Anwendung aus einer Reihe von Ruby-Quelldateien besteht, können Sie Rubys RDoc-System nutzen, um eine HTML-Dokumentation aus speziell formatierten Kommentaren zu erzeugen, die Sie in Ihrem Code einbetten.

Sie können Kommentare zu Beginn einer Klassendatei und vor allen öffentlichen Instanzmethoden innerhalb der Klassendatei platzieren. Sie verarbeiten das diese Klassendefinitionen enthaltende Verzeichnis dann mit dem rdoc-Befehl, der alle Ruby-Quelldateien verarbeitet und eine vorzeigbare HTML-Dokumentation erzeugt.
Sie könnten zum Beispiel eine Kochbuch-Anwendung besitzen, die einen ChaptersController definiert. Sie können die ChaptersController-Datei mit Kommentaren versehen:

# Dieser Controller enthält die Geschäftslogik für die Kochbuch-Kapitel. Details finden

# Sie in der Dokumentation der einzelnen öffentlichen Instanzmethoden.
 

 
class ChaptersController < ApplicationController
 


  # Diese Methode erzeugt ein neues Chapter-Objekt basierend auf dem Inhalt von 
 

  # <tt>params[:chapter]</tt>.
 
  # * Ist der Aufruf der +save+-Methode für dieses Objekt erfolgreich, erscheint
 
  #   eine Notiz und die Aktion +list+ wird aufgerufen.
 
  # * Schlägt +save+ fehl, wird stattdessen die Aktion +new+ aufgerufen.  

 
  def create

    @chapter = Chapter.new(params[:chapter])

    if @chapter.save

      flash[:notice] = 'Kapitel wurde erfolgreich angelegt.'

      redirect_to :action => 'list'

    else    

      render :action => 'new'

    end

  end

...
 
Die Kommentare bestehen aus einer oder mehreren aufeinanderfolgenden Zeilen, denen ein Hash-Symbol (#) vorangestellt ist. Die Zeilen bilden Blöcke eines beschreibenden Textes. Der erste Kommentarblock einer Datei sollte die Funktion der Klasse beschreiben und sollte Nutzungsbeispiele enthalten oder zeigen, wie die Klasse im Bezug auf den Rest der Anwendung eingesetzt wird.

Sobald Sie Kommentare in die Klassen eingefügt haben, verwenden Sie rake doc:app, um das RDoc-HTML für die Anwendung zu generieren. Aus dem Stamm der Kochbuch-Anwendung führen Sie den folgenden Befehl aus, der ein Verzeichnis namens doc/app erzeugt, in dem eine Reihe von HTML-Dateien stehen:

$ rake doc:app
 

 

$ ls -F doc/app/
 
classes/     files/               fr_file_index.html    index.html

created.rid  fr_class_index.html  fr_method_index.html  rdoc-style.css
 
Die Ergebnisse von RDoc können Sie sich ansehen, indem Sie mit Ihrem Browser zu doc/app/index.html wechseln.

Diskussion

<|XrefColor>Abbildung 2-4 zeigt das RDoc-HTML, das von der Beispielanwendung der Lösung generiert wurde. Der ChaptersController wurde aus dem Classes-Navigationsframe gewählt und wird im Hauptfenster des Frame-Sets dargestellt.

Die für die create-Methode gerenderte Dokumentation zeigt einige der vielen Wiki-artigen Formatierungsoptionen, die in RDoc-Kommentaren verwendet werden können. Ein Feature der Dokumentation ist die Verlinkung der HTML-Seiten. Zum Beispiel ist das Wort »Chapter« in der Beschreibung der create-Methode ein Hyperlink auf die Dokumentation der Chapter-Modellklassendefinition. Hier einige gängige Formatierungsoptionen:

# = Überschrift eins

# 

# == Überschrift zwei

# 

# === Überschrift drei
 
Das Folgende erzeugt Überschriften in verschiedenen Größen:

# * Eins

# * Zwei

# * Drei
 
Dieser Code erzeugt Aufzählungslisten:
# 1. Eins

# 2. Zwei

# 3. Drei
 
Das Folgende erzeugt eine geordnete Liste:

# Fixed with example code:

#   class WeblogController < ActionController::Base

#     def index

#       @posts = Post.find_all

#       breakpoint "Breaking out from the list"

#     end

#   end

Abbildung 2-4
Der für eine Rails-Anwendung generierte RDoc HTML-Code
Soll der Beispielcode mit einer Nichtproportionalschrift dargestellt werden, fügen Sie nach dem #-Zeichen zwei Leerzeichen ein.
Sie können auch eine Liste der Begriffe und Definitionen erzeugen:
# [Begriff] Dies ist die Definition eines Begriffs.
 

Dieser Kommentar erzeugt eine definitionsartige Paarung, bei der der »Begriff« durch den darauf folgenden Text definiert wird.
Innerhalb von Absätzen können Sie Text mit Unterstrichen kursiv darstellen (z.B. _kursiv_). Sie können Text auch fett darstellen, indem Sie die Wörter zwischen »Sternchen« (z.B. *fett*) stellen. Sie können Inline-Text festlegen, der in einer Nichtproportionalschrift ausgegeben wird, indem Sie die Wörter mit »+« umgeben (z.B. +Befehl+).
Standardmäßig ignoriert RDoc private Methoden. Sie können RDoc explizit anweisen, die Dokumentation für eine private Methode zu generieren, indem Sie den Modifikator :doc: zusammen mit der Funktionsdefinition angeben. Ein Beispiel:

private

  def eine_private_methode # :doc:
 
  end
 
In ähnlicher Weise können Sie Code aus der Dokumentation heraushalten, indem Sie den Modifikator :nodoc: verwenden.


Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

Passwortfreie Authentifizierung mittels SSH einrichten

Sie loggen sich ständig auf entfernten Servern ein und werden dabei jedes Mal nach Ihrem Passwort gefragt. Das ist nicht nur lästig, sondern auch ein Sicherheitsrisiko.

Eine bessere Alternative zur Eingabe von Passwörtern für jeden Ihrer Server bietet die Verwendung einer kryptografischen Authentifizierung mittels SSH und seinen öffentlichen/privaten Schlüsselpaaren.

Generieren Sie ein öffentliches/privates Schlüsselpaar mit:
$ ssh-keygen -t dsa
 
Sie können alle Fragen einfach mit Enter beantworten. Sie können den Befehl später immer wieder ausführen, wenn Sie die Standardwerte ändern wollen.

Nun installieren Sie Ihren öffentlichen Schlüssel auf einem entfernten Server Ihrer Wahl mit dem folgenden Befehl:
 $ cat ~/.ssh/id_dsa.pub | ssh rob@myhost "cat >> .ssh/authorized_keys2"
 
Ersetzen Sie dabei myhost durch den Domainnamen oder die IP-Adresse Ihres Servers.

Ein typisches Problem dabei sind falsche Zugriffsrechte auf das .ssh-Verzeichnis und die darin enthaltenen Dateien. Stellen Sie sicher, dass Ihr .ssh-Verzeichnis und die darin enthaltenen Dateien nur vom Eigentümer gelesen und geschrieben werden können:
$ chmod 700 ~/.ssh 
 
$ chmod 600 ~/.ssh/authorized_keys2

 

Diskussion

Der Vorteil der passwortfreien Authentifizierung besteht darin, dass Passwörter über die Leitung abgehört werden können und sog. Brute-Force-Attacken ausgesetzt sind. Die kryptografische Authentifizierung eliminiert diese Risiken. Es ist auch weniger wahrscheinlich, dass Ihre Passwörter bei fehlerhaften Login-Versuchen in Ihren lokalen Logs hängen bleiben.
Wie bei allen sicherheitsrelevanten Aspekten gibt es auch hier Nachteile. Wenn Sie Ihren privaten Schlüssel auf Ihrer lokalen Maschine ablegen, kann jeder mit Zugriff auf diese Maschine auf Ihre Server zugreifen, ohne die Passwörter kennen zu müssen. Beachten Sie diese potenzielle Sicherheitslücke, wenn Ihr Computer mal unbeaufsichtigt bleibt und wenn Sie einen Sicherheitsplan aufstellen.


Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

Edge Rails installieren und ausfĂĽhren

Sie möchten die neueste Prerelease-Version von Rails, die sog. Edge Rails, herunterladen und installieren.

Aus dem Stammverzeichnis Ihrer Rails-Anwendung geben Sie Folgendes ein:

$ rake rails:freeze:edge
 
Sobald dieser Befehl ausgeführt worden ist, starten Sie den Server neu, und Ihre Anwendung wird unter Edge Rails ausgeführt.
Steht Ihr Projekt unter der Kontrollevon Subversion, können Sie die Vorteile von Subversions externen Definitionen nutzen, um es anzuweisen, den Inhalt eines bestimmten Unterverzeichnisses aus einem separaten Repository einzulesen. Zu diesem Zweck setzen Sie die Eigenschaft svn:externals mit dem Befehl svn propedit.

$ svn propedit svn:externals vendor
 
svn propedit öffnet Ihren Standard-Editor, wo Sie den folgenden Wert für die Eigenschaft eingeben:
rails http://dev.rubyonrails.org/svn/rails/trunk/
 

Wenn Sie die Datei speichern und den Editor verlassen, sehen Sie folgende Message:
Set new value for property 'svn:externals' on 'vendor'
 
Nun wollen Sie die gerade vorgenommene Änderung am vendor-Verzeichnis übernehmen und optional noch überprüfen, ob die Eigenschaft auch wirklich gesetzt wurde:
$ svn ci -m 'Externals für vendor so angepasst, dass aus dem Rails-Zweig gelesen wird'
 
Sending        vendor

Committed revision 4.
 

 
$ svn proplist --verbose vendor
 
Properties on 'vendor':

  svn:externals : rails http://dev.rubyonrails.org/svn/rails/trunk/
 

Ist die Eigenschaft externals auf vendor gesetzt, wird bei der nächsten Aktualisierung Ihres Projekts mit svn das vendor-Verzeichnis die neueste Rails-Version aus dem Stamm ziehen:
$ svn update
 

Diskussion

Edge Rails ist ein Begriff für die neueste und aktuellste Version von Rails. (Mit anderen Worten also die Version, die vom Rails-Kernteam gerade entwickelt wird.) Normalerweise verwendet eine neue Rails-Anwendung die Rails-Pakete im gem-Pfad Ihrer Ruby-Installation. Der Befehl rake rails:freeze:edge führt einen Subversion-Export der neuesten Rails-Version aus dem öffentlichen Subversion-Repository (http://dev.rubyonrails.org/svn/rails/trunk) durch. Ein Subversion-export (svn export) lädt alle Projektdateien aus dem Repository, aber ohne die Subversion-Metainformationen (.svn-Verzeichnisse), die bei einem svn checkout enthalten wären. Die heruntergeladenen Rails-Pakete werden unter vendor/rails in Ihrem Projektverzeichnis abgelegt. Beim Neustart des Servers wird die in vendor/rails installierte Version verwendet und nicht die Version, die im gem-Pfad Ihres Systems steht.

Der Betrieb von Edge Rails ist eine großartige Möglichkeit, um sich anzusehen, was einem in der nächsten öffentlichen Release von Rails zur Verfügung steht. Der Code ist üblicherweise recht stabil, aber es gibt keine Garantie dafür, wie die API in Zukunft aussehen mag. Eine mögliche Lösung für den Umgang mit unerwarteten API-Änderungen ist eine sorgfältige Testsuite für Ihre Anwendungen. Wenn Sie das neueste Edge Rails herunterladen und einer Ihrer Tests fehlschlägt, können Sie zu einer früheren Edge-Version zurückkehren, indem Sie die Subversion-Revisionsnummer im rails:freeze:edge-Befehl angeben. Der folgende Befehl kehrt beispielsweise zur Version 3495 zurück:
$ rake rails:freeze:edge REVISION=3495
 
Der Befehl entfernt zuerst das vendor/rails-Verzeichnis (wenn es existiert) und lädt dann die angegebene Revision aus dem Rails Subversion-Repository herunter. Sie können eine bestimmte Edge-Version auch auschecken, indem Sie ein Tag angeben. So können Sie z.B. Rails 1.1.2 wie folgt auschecken:

$ rake rails:freeze:edge TAG=rel_1-1-2
 
Wurde Ihre Anwendung mit Edge Rails ausgeführt und sollen nun die Rails-Pakete und -Gems der Ruby-Systeminstallation verwendet werden, führen Sie Folgendes aus:
$ rake rails:unfreeze
 

Damit entfernen Sie einfach das vendor/rails-Verzeichnis, und Ihre Anwendung läuft unter der auf Ihrem System installierten Rails-Version.

Wenn Sie mit Mac OS X oder einer GNU/Linux-Umgebung arbeiten, können Sie schnell und einfach zwischen mehreren Versionen von Edge Rails hin und her schalten oder Ihre Rails-Anwendungen mittels freeze/unfreeze »einfrieren« und wieder freigeben, selbst wenn Sie nicht über eine Internetanbindung verfügen. Zu diesem Zweck müssen Sie jede benötigte Edge Rails-Version in ein eigenes Verzeichnis auschecken. Wenn Sie dann Ihre Rails-Anwendung für eine bestimmte Version von Edge Rails einfrieren wollen, erstellen Sie einfach einen symbolischen Link des entsprechenden Versionsverzeichnisses für vendor/rails und starten den Server neu. Um wieder zu Ihrer regulären Rails-Version zu gelangen, entfernen Sie einfach den symbolischen Link und starten den Server neu.


Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

PlattformĂĽbergreifende Entwicklung mit RadRails

Sie wünschen sich eine integrierte Entwicklungsumgebung (IDE) für die Entwicklung Ihrer Rails-Anwendungen. Diese Umgebung soll plattformübergreifend, umfassend und Rails-freundlich sein.

Nachdem man einige Dutzend Postings in der Rails-Blogosphäre gelesen hat, könnte man sich die Frage stellen, ob es wohl neben TextMate noch andere IDEs für die Rails-Entwicklung gibt. Glücklicherweise gibt es für Leute ohne Macs (oder für diejenigen, die einfach eine Alternative vorziehen) RadRails.

RadRails ist eine Rails-zentrische IDE, die auf dem Eclipse-Projekt aufsetzt. Eclipse ist ein plattformunabhängiges Software-Framework für sog. Rich-Client-Anwendungen. Weil Eclipse, und damit auch RadRails, Java-basiert ist, bietet es eine plattformübergreifende Entwicklungsmöglichkeit für jedes Betriebssystem, das Sie nutzen könnten.
RadRails verfügt über Dutzende von Features, die die Rails-Entwicklung vereinfachen sollen. Es umfasst eine grafische Projektdarstellung, Syntax-Highlighting, fest eingebaute Rails-Generatoren, einen WEBrick-Server und vieles mehr. Ein fest integrierter Browser lässt Sie mit den Anwendungen interagieren, ohne dass Sie die IDE verlassen müssen.

Bei RadRails ist ein Eclipse-Plugin namens subclipse enthalten. Subclipse bietet ein einfach zu nutzendes grafisches Frontend für das Versionskontrollsystem Subversion. Subclipse erlaubt die Ausführung gängiger Subversion-Befehle durch ein Menü, das für jede Datei und jedes Verzeichnis in einem Projektordner durch einen Rechtsklick (Option-Klick bei Macs) aktiviert werden kann.

Die Datenbank-Perspektive erlaubt die Inspektion der Struktur und des Inhalts Ihrer Datenbank. Datenbankabfragen über diese Daten können in einer Query-Ansicht ausgeführt werden.
<|XrefColor>Abbildung 2-3 zeigt RadRails mit der Rails-Willkommensseite.

Abbildung 2-3
Ein Rails-Projekt unter RadRails

Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

OpenRoRBook: Die RubyeinfĂĽhrung

Wir freuen uns euch heute ein weiteres Kapitel aus dem OpenRoRBook vorstellen zu dürfen.

Das Kapitel stammt aus dem Rails-Buch von Ralf Wirdemann und Thomas Baustert: Rapid Web Development mit Ruby on Rails

Dieses Kapitel behandelt die Grundlagen von Ruby und soll jedem Interessierten den Einstieg erleichtern.

Wir möchten uns an dieser Stelle dafür bedanken, dass wir die Einführung in das OpenRoRBook aufnehmen dürfen.

Weitere Details und die Links auch zu den anderen Kapiteln findet ihr hier: http://www.rubyonrails.de/2008/02/openrorbook/

Viel SpaĂź bei der LektĂĽre