Rails 5 wurde von David Heinemeier Hansson (DHH), dem Schöpfer des Ruby on Rails Frameworks, auf der RailsConf 2015 in Atlanta angekündigt. Ruby 5.0.0 Beta-Version wurde am 18. Dezember 2015 veröffentlicht. Abgesehen von Rails 4 wurden in der Version 5 neue Features wie Action Cable und verbesserte Turbolinks implementiert, die den Workflow der Webentwicklung sofort verbessern können. Hier sind die Rails 5 Features:
Unterstützung der Ruby-Version :
Rails 5 wird nur funktionieren mit Ruby 2.2.1 und höher. Die folgenden Funktionen sind die Gründe für die Verwendung von Ruby 2 oder höher: Symbol Garbage Collector In Ruby On Rails-Anwendungen werden normalerweise überall Symbole übergeben, was die Möglichkeit von DoS-Angriffen eröffnet, wenn der Speicher von Symbolen verbraucht wird, die nie in den Garbage Collector gelangen. Mit Ruby 2.2.0 wurden Änderungen am Garbage Collector eingeführt, um Symbole sammeln zu können. Modul #vorläufig Ermöglicht das Einfügen eines Moduls vor der Klasse, der es vorangestellt wurde. Schlüsselwort-Argumente Mit Ruby 2.0 wurde eine erstklassige Unterstützung für Schlüsselwortargumente eingeführt:def foo(bar: 'default') setzt bar end foo # => 'standard' foo(bar: 'baz') # => 'baz' Inkrementelle GCDies wird dazu beitragen, den Speicherverbrauch von Rails-Anwendungen zu reduzieren. Veralteter Code entfernt und Bereinigung Aktion Mailer Die Methoden #deliver und #deliver! wurden entfernt, verwenden Sie die neuen Methoden deliver_now oder deliver_later.
Die *_path-Hilfe in E-Mail-Ansichten wurde entfernt und *_url verwendet.Aktiver Rekord Geschützte Attribute (attr_accessible) werden jetzt überhaupt nicht mehr unterstützt. Keine Unterstützung für activerecord-deprecated_finders gem. ActionPack-Assertionen assert_template und assigns() Assertions sind veraltet und wurden in ein eigenes Gem rails-controller-testing verschoben.
ActiveRecord::Base#has_secure_tokenRails 5 hat has_secure_token eingeführt, um zufällige Token in Modelle aufzunehmen. Aktion Ansicht In der Aktionsansicht wurden Hilfsmethoden wie content_tag_for und div_for aus dem Kern entfernt und in ein separates Gem record-tag-helper ausgelagert. Turbolinks Neue Turbolinks 3 behebt eines der Hauptprobleme von Rails. Wenige Webanwendungen arbeiten sehr langsam, weil sie die gesamte Seite vom Server neu laden. Das neue Turbolinks 3 lädt nur den Inhalt des Körpers, es lädt nicht die ganze Seite neu. Es erlaubt Ihnen, die zu ersetzenden Elemente durch Partials zu spezifizieren. Die Funktion der partiellen Ersetzung ist eine der wichtigsten Änderungen in Rails 5. Wir werden in der Lage sein, Turbolinks von der Client-Seite aus mitzuteilen, welche Inhalte wir ändern/ersetzen müssen und welche nicht. Um die Ersetzungsstrategie im DOM zu bestimmen, sucht Turbolinks nach den HTML5-Attributen data-turbolinks-permanent und data-turbolinks-temporary. Wir können turbolinks.visit oder turbolinks.replace verwenden, um das DOM zu aktualisieren und eine Ersetzung auf der Client-Seite auszulösen. Visit sendet einen GET an den Server, um den HTML-Code zu erhalten, der zum Ersetzen unseres DOM verwendet werden muss, und replace erwartet von uns den HTML-Code, der für seinen Vorgang verwendet werden soll. Die gleichen Funktionen können serverseitig mit redirect_to und render ausgelöst werden. Sowohl redirect_to als auch render können die Optionen change, keep und flush erhalten. Aber redirect_to kann auch Turbolinks mit true oder false empfangen, um eine Weiterleitung zu erzwingen. Aktion Kabel Aktion Kabel ist ein Framework, mit dem Rails über Websockets erweitert werden kann, um Echtzeit-Nachrichtenübermittlungsfunktionen hinzuzufügen. Dies ist wahrscheinlich eines der besten Dinge in Rails 5. Es integriert WebSockets nahtlos in den Rest der Rails-Anwendung. Action Cable macht es sehr einfach, Echtzeitfunktionen zu Ihrer Anwendung hinzuzufügen. Der Grund für das Hinzufügen dieser Funktion war der steigende Bedarf an dieser Funktion. Es wurde eingeführt, um die Rails-Funktionalität mit Echtzeitnachrichten unter Verwendung von WebSockets zu erweitern. Action Cable bietet eine Reihe von Vorteilen, darunter eine offene Verbindung, die im Vergleich zu anderen HTTP-Anfragen extrem leichtgewichtig ist. Ein weiterer Vorteil ist, dass eine einmal aufgebaute Verbindung offen bleibt. Über diese offene Leitung können sowohl der Server als auch der Client kommunizieren, ohne dass eine neue Verbindung aufgebaut werden muss. Der Server und der Client können die Voll-Duplex-Verbindung von WebSocket nutzen, um gleichzeitig miteinander zu kommunizieren. Ein Nachteil von Action Cable ist die Unfähigkeit, Anfragen zwischenzuspeichern. Ein weiterer Nachteil von WebSocket ist die Unterstützung von Browsern, da nur 70% des Browsermarktes WebSocket-Verbindungen zulässt. Zusätzliche neue Funktionen in Rails 5
- #or-Methode in ActiveRecord::Relation
- #belongs_to ist standardmäßig erforderlich
- Aktive Datensatz-Attribut-API
- has_secure_token gelandet in ActiveRecord
- Mysql Active Record Adapter erhält Json-Unterstützung
- Rendering einer Vorlage außerhalb des Controllers
- Besserer Minitest Test Runner
Schienen neu my-app-api -apiRendering von jedem Ort aus All diese Tage haben wir mit Gems wie render_anywhere, um Ansichten außerhalb des Controllers zu rendern. In Rails 5 können Sie Ihre Views von überall aus rendern. Neben den Rendering-Optionen gibt es auch eine Option zur Übergabe von Instant-Variablen an Templates. Neustart Ihrer Anwendung mit einem Rake-Befehl In Rail 5 können Sie alle Ihre Anwendungen mit dem Befehl neu starten Rechen-Neustart. Und für die Migration: Schienen db: migrieren Bitte beachten Sie, dass diese Liste nicht abschließend ist. Um mehr über alle Änderungen in Rails 5 zu erfahren, empfehlen wir Ihnen, sich die Release-Ankündigung auf Rails.Org anzusehen. Lesen Sie auch:
- Upgrade auf Rails 5
- Wie man eine Swagger-Dokumentation für Rails-API generiert
- Wie generiert man eine Sitemap und fügt sie zu seiner Rails-Anwendung hinzu?
Abonnieren Sie die neuesten Updates
zusammenhängende Posts