Bekannt aus

Version 3.1.0 von Rails wurde veröffentlicht

Die RailsConf liegt nun mehr als drei Monate zurück, sodass es nach Meinung des Entwicklers nun an der Zeit ist, die Version 3.1.0 von Rails zu veröffentlichen. Seit dem 30. August 2011 steht die neue Version bereit und erfreut sich bereits jetzt größter Beliebheit. Die Neuerungen werden seitens des Entwicklers wie folgt beschrieben.

ActionPack

Das ActionPack wurde aktualisiert und beinhaltet nun die neue Asset-Pipeline. Weitere Informationen dazu finden Sie im Handbuch.

Die "Streaming Response"-Unterstützung wurde hinzugefügt. Diese Funktion erlaubt es, Templates zum Nutzer zu streamen, bevor die Verarbeitung tatsächlich beendet ist. Bitte lesen Sie dazu in den Handbüchern von Rail oder in der Dokumentation unter ActionController::Metal::Streaming.

Middleware wurde überarbeitet um diese Funktion zu unterstützen.

RJS wurde zu einem Edelstein abgerundet.

ActiveModel

attr_accessible und Freunde akzeptieren nun :as als Option um eine Funktion zu präzisieren.

ActiveModel::SecurePassword wurde hinzugefügt, um eine besonders einfache Passwortverwendung mit Hilfe von BCrypt-Verschlüsselung und Salting abzukapseln.

ActiveRecord

"Prepared statement caches" wurden integriert.

ActiveRecord::Base#create und einfache Sucher werden einen "prepared statement und Cache" benutzen um eine höhere Leistungsfähigkeit bei Einfügung und Auswahl zu erreichen.

Es wurden Verbindungen im Sinne größerer Einfachheit und Wartungsfreundlichkeit erneuert.

default_scope can kann jedes Objekt nehmen, das auf call antwortet.

PostgreSQL-Adapter unterstützt nur PostgreSQL Version 8.2 und höher.

"Migrations" benutzen Instanzmethoden anstatt von Klassenmethoden. Anstatt eine self.up-Methode zu definieren, sollten Sie eine Instanzmethode up definieren.

"Migrations" sind aufhebbar. Wenn eine neue "Migration" generiert wird, enthält diese eine Methode namens change. Datenbankänderungen, welche in dieser Methode gemacht werden, wissen automatisch, wie sie sich selber rückgängig machen können. Für mehr Informationen schauen sie in der Dokumentation unter ActiveRecord::Migration und ActiveRecord::Migration::CommandRecorder nach.

Wenn ein Modell generiert wurde, wird add_index automatisch von Standard für belongs_to oder references Spalten hinzugefügt.

ActiveResource

Das Standartformat wurde für alle Anfragen in JSON geändert. Wenn Sie weiterhin XML nutzen möchten, müssen Sie innerhalb der Klasse self.format = :xml setzen.

ActiveSupport

ActiveSupport::BufferedLogger setzen Sie Log-Codierung auf BINÄR, benutzen Sie jedoch weiterhin den Textmodus um versetzbare Zeilentrenner auszugeben.

Füge Object#in? hinzu, um zu testen, ob ein Objekt Bestand eines anderen Objektes ist.

ActiveSupport::Dependencies::ClassCache Klasse hält nun Bezüge zu wiederladbaren Klassen.

weeks_ago und prev_week wurden zu Datum/Datum/Zeit/Zeit hinzugefügt.

JSON Decodierung benutzt jetzt die multi_json gem, welche auch eine json-Maschine namens OkJson anbietet. Das yaml Back-end wurde zugunsten von OKJson, als eine Standartmaschine für 1.8. x entfernt. Währenddessen wird die "built in 1.9.x json implementation" vom Standart benutzt.

Railties

Das Standartdatenbankschema-File ist in der UTF-8-Kodierung geschrieben.

Rack::Sendfile middleware wird nur benutzt, wenn x_sendfile_header präsent ist.

Füge alias r für "rails runner" hinzu.

jQuery ist die neue Standart-JavaScript-Library.

Die Konfiguration config.force_ssl wurde hinzugefügt, welche Rack::SSL middleware lädt und alle Anfragen zwingt, unter dem HTTPS-Potokoll zu laufen.

Worte des Entwicklers

Original-Artikel

Ich persönlich bin sehr stolz auf diese Veröffentlichung und möchte mich bei allen Personen bedanken, die uns im Vorfeld mit Tests, Verbesserungen und Fehlerberichten geholfen haben. Ich denke, Rails 3.1.0 ist momentan die beste Version und ohne Ihnen wäre das nicht möglich gewesen. Bitte erschaffen Sie weiterhin so fantastische Sachen mit diesem Framework.