Rails 2.0 Preview Release
Gestern (30.09.07) hat David das Preview Release zu Rails 2.0 veröffentlicht.
Dies ist die erste Vorabversion, der wahrscheinlich noch ein, zwei und ggf. drei Release Candidates folgen werden.
Bevor die endgültige Version erscheint soll es noch ein 1.2.4’er Version geben. Diese wird einige Bugfixes und aktualisierte Warnung über veraltete/abgelöste Bereiche enthalten. So soll sichergestellt werden, dass jeder seine Applikation auf den aktuellsten Stand bringen kann, bevor sie auf die neue Version umgestellt wird.
Neuerungen in Version 2.0 werden sein:
Action Pack: Resources
Mit dem ActionPack Resources rückt man dem RESTful lifestyle ein wenig näher.
Eines der auffälligeren Veränderungen sind die geänderten URLs. Das Semikolon wurde wurde gegen ein Slash ausgetauscht.
Also aus ”/people/1;edit” wird nun ”/people/1/edit”.
Weiterhin kann man nun Namespaces verwenden. Somit wird es einfacher z.B. Admin-Interfaces abzubilden.
Ansonsten wurde eine Konvention für das Routing eingeführt. Per Default werden nun Resourcen im Plural angegeben.
Action Pack: Multiview:
Neben dem bereits bekannten respond_to können nun Rückgabe-Formate und der Renderer im Template-Namen angegeben werden:
Beispiele:
show.erb: ist das show-Template für alle Formate
index.atom.builder: Hier wird das Builderformat benutzt. In der 1.x.x-Version wurde hier die Endung .rxml benutzt. Der Mimetype ist in diesem Fall “application/atom+xml”
edit.iphone.haml: Hier würde die HAML Template Engine benutzt werden (Diese müsste vorher installiert werden), und es wird das angepasste Mime::IPHONE-Format zurückgegeben.
Action Pack: Record identification:
Weitere Konventionen sollen nun die Addressierung von Resourcen vereinfachen z.B:
redirect_to(person)
link_to(person.name, person)
form_for(person)
Action Pack: HTTP Loving:
Mit der 2.0 Version rückt Rails zum HTTP-Protokoll ein bisschen näher. So wird man ganz einfach HTTP Basic Authentications durchführen können.
Weiterhin kann nun Javascript- und CSS-Dateien cachen können.
z.B. würden mit javascript_include_tag(:all, :cache => true) würde alle eingebundene Dateien zu einer “public/javascripts/all.js” zusammengefasst werden. auf diese Weise kann man weiterhin bei der Entwicklung separate Dateien benutzen und hat trotzdem in Produktion den Vorteil, dass der Browser nur eine Datei anzufordern braucht.
Action Pack: Security:
Rails 2.0 beinhaltet einige Vorkehrungen um mit CRSF und XSS Attacken zu unterbinden.
Action Pack: Exception Handling:
Die Fehlerbehandlung ist nun um die Möglichkeit klassen basierte Behandlungen zu erstellen erweitert worden.
Action Pack: Miscellaneous:
Eine weitere Erweiterung ist der neue AtomFeedHelper um auf einfache Weise seine eigenen Feeds zu erstellen
Active Record: Performance:
Ein Query-Cache der bereits abgesetzte Abfragen für spätere Anfragen speichert, soll die Verarbeitung von Requests beschleunigen.
Active Record: Sexy Migrations:
Tabellen-Spalten vom gleichen Typ können nun in den Migrationsscripten zusammengefasst werden. Dadurch sollen die Scripte mehr DRY werden.
Active Record: Shedding some weight:
Um Active Record ein bisschen schlanker zu machen wurden Teile wie acts_as_XYZ in Plugins ausgelagert. Wenn diese Funktionen benutzt wurden/werden kann man sie einfach mit ./script/plugin install acts_as_XYZ nachinstallieren.
Weiterhin beinhaltet die Standardinstallation nur die DB-Adapter für die freuen Datenbanken MySQL, SQLite und PostgreSQL. Die Adapter für die kommerziellen Datenbanken sind in gem-Pakete ausgelagert worden und können nach der Installation weiterhin benutzt werden.
Active Record: with_scope with a dash of syntactic vinegar:
Um unbeabsichtigten Missbrauch (Verwendung außerhalb von Models) von :with_scope vorzubeugen wurde diese Funktion so umgestellt, dass sie nur noch innerhalb von Models aufgerufen werden kann. Wenn man es weiterhin außerhalb aufrufen möchte oder muss, kann man die send(:with_scope) des Obejkt benutzen.
ActionWebService out, ActiveResource in:
Wie schon seit längerer Zeit abzusehen hat man sich gegen klassische Webservices über SOAP entschieden und stattdessen sich für den REST-Ansatz entschieden. Somit gehört ActionWebService nicht mehr
zum Standard-Paket. Es kann aber weiterhin als separates gem installiert und benutzt werden.
ActiveSupport:
Außer Array#rand um einen beliebigen Wert aus dem Array zu holen und Hash#expect um die Schlüssel zu filtern, bestehen die Änderungen hauptsächlich aus Bugfixes.
Action Mailer:
Neben Bugfixes sind alternative Templates die hauptsächlichen Änderungen in diesem Bereich.
Rails: The debugger is back:
Man kann nun den Debugger wieder benutzen.
Rails: Clean up your environment:
Es soll geordneter in Rails 2.0 zugehen. So wird es möglich sein umgebungsspezifische Parameter und Initialisierugen besser zu verwalten. Neue Rails 2.0 werden mit zwei Beispielen ausgeliefert an denen man sich orientieren kann.
Rails: Easier plugin order:
Da ein Teil der Funktionen in Plugins ausgelagert wurde , wird man in Rails 2.0 die Ladereihenfolge selber bestimmen können. So wird gewährleistet, dass eventuelle Abhängigkeiten eingehalten werden können.
Update auf Rails 2.0:
Wer seine Applikation auf Rails 2.0 updaten möchte, sollte erst sicherstellen, dass er bereits die Version 1.2.3 benutzt.
Wenn das Logfile dann keine Warnungen über “deprecated” Funktionen enthält sollte sichergestellt werden, dass Bereiche die dann nur noch als Plugin verfügbar sind installiert werden (Kommerzielle DB-Adapter, pagination….)
Danach kann mit folgendem Aufruf seine Rails-Umgebung auf das Preview Release updaten:
gem install rails—source http://gems.rubyonrails.org
Den gesamten Original-Thread von David findet ihr unter http://weblog.rubyonrails.com/2007/9/30/rails-2-0-0-preview-release
Eingestellt am 01.10.2007 um 08:38
Kategorie: News
Suchen auf rubyonrails.de
Tags
2.0 ActiveRecord Ajax Authentication Buch Capistrano Controller Enterprise Event Formulare Gewinnspiel Grundlagen IDE irb jQuery Kochbuch Konferenz MySQL OReilly Passenger Phusion Plugin PragProgs Rails Rails 3 Rails 3.1 RailsWayCon Release Release Candidate Routing Ruby RubyGems rubyonrails.de Ryan Bates Scaffolding Screencast Script-Tip Security Test Tools Tutorial Upgrade Video Views WindowsAktuelle Artikel
- Screencast: RABL – Ruby API Builder Language
- Screencast: JSON Dokumente mit Jbuilder erstellen
- Rails 3.2.1 veröffentlicht
- Screencast: Upgrade auf Rails 3.2
- Ruby on Rails 3.2
- Screencast: Private Pub für Realtime-Events
- Screencast: Pretty URLs mit FriendlyId
- Screencast: HTML Emails mit Rails verschicken
- Screencast: Einstieg in die Rails-Entwicklung
- Frohe Weihnachten!
Artikel Archiv
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- June 2008
- May 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
Aktuelle Rails Version + Abhängigkeiten:
Gem rails-3.0.0actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)
Rails auf Rubyforge
Rails auf Github
