Rails 5 tillkännagavs av David Heinemeier Hansson(DHH), skapare av Ruby on Rails Framework på RailsConf 2015 i Atlanta. Ruby 5.0.0 Beta-version släpptes den 18 december 2015. Förutom Rails 4, är de nya funktionerna implementerade i 5-versioner som Action-kabel och förbättrade turbolänkar som omedelbart kan förbättra webbutvecklingens arbetsflöde. Här är Rails 5-funktionerna:
Ruby version Support:
Rails 5 kommer endast arbeta på Ruby 2.2.1 och senare. Följande funktioner är anledningarna till att använda ruby 2 eller högre: Symbol Garbage Collector I Ruby On Rails-applikationer skickar vi vanligtvis symboler överallt, när vi gör detta öppnar vi möjligheten för DoS-attacker när vårt minne konsumeras av symboler som aldrig samlas in skräp. Ruby 2.2.0 införde ändringar i sin sophämtare för att kunna samla in symboler. Modul #prepend Tillåter att infoga en modul framför klassen den prependerades. Nyckelordsargument Ruby 2.0 introducerade förstklassigt stöd för sökordsargument:def foo(bar: 'default') sätter bar slutet foo # => 'default' foo(bar: 'baz') # => 'baz' Inkrementell GCDetta kommer att bidra till att minska minnesförbrukningen för Rails-applikationer. Utfasad kod borttagen och rensning Action Mailer #deliver och #deliver! metoder har tagits bort, använd nya metoder leverans_nu eller leverera_senare.
*_path helper i e-postvyer har tagits bort och använd *_url.Aktivt rekord Skyddade attribut(attr_accessible) stöds inte helt nu. Inte stöd för activerecord-deprecated_finders gem. ActionPack påståenden assert_template och assigns() påståenden fasas ut och flyttas till sin egen gem rails-controller-testing.
ActiveRecord::Base#has_secure_tokenRails 5 har introducerat has_secure_token för att inkludera slumpmässiga token i modeller. Action View I handlingsvyn togs hjälpmetoder som content_tag_for och div_for bort från kärnan och flyttades ut till en separat gem record-tag-helper. Turbolänkar Nya Turbolinks 3 löser ett av Rails stora problem. Få webbappar fungerar väldigt långsamt eftersom den laddar om hela sidan från servern. Denna nya Turbolinks 3 laddar bara om innehållet i kroppen, den laddar inte om hela sidan. Det låter dig specificera vilka element som ska ersättas genom partialer. Funktionen för partiell ersättning, är en av de mest betydande förändringarna i Rails 5. Vi kommer att kunna berätta för Turbolinks från klientsidan att vilket innehåll vi behöver ändra/ersätta och vad vi inte behöver. För att bestämma ersättningsstrategin i DOM kommer turbolänkar att leta efter anpassade HTML5-attribut data-turbolinks-permanent och data-turbolinks-temporary. Vi kan använda turbolinks.visit eller Turbolinks.replace för att uppdatera DOM och för att trigga en ersättning på klientsidan. Besök kommer att utfärda en GET till servern för att hämta HTML-koden som måste användas för att ersätta vår DOM och ersätta förväntar sig av oss HTML-koden som ska användas för dess drift. Samma funktionaliteter kan triggas från serversidan med redirect_to och render, både redirect_to och render kan ta emot ändring, behålla och spola som alternativ. Men redirect_to kan också ta emot turbolänkar med sant eller falskt för att tvinga fram en omdirigering. Actionkabel Actionkabel är ett ramverk som används för att utöka Rails via Websockets för att lägga till funktionalitet för vidarebefordran av meddelanden i realtid. Detta är förmodligen en av de bästa sakerna i Rails 5. Den integrerar smidigt WebSockets med resten av Rails-applikationen. Actionkabel gör det väldigt enkelt att lägga till realtidsfunktioner till din app. Anledningen till att lägga till denna funktion var ett ökande behov av en sådan funktion. Det introducerades för att utöka Rails funktionalitet med realtidsmeddelanden med hjälp av WebSockets. Action Cable erbjuder många fördelar inklusive att vara en öppen anslutning, extremt lätt jämfört med andra HTTP-förfrågningar. En annan fördel är att när en anslutning väl upprättats förblir den öppen. Genom den öppna linjen kan både servern och klienten kommunicera utan att återupprätta en ny anslutning. Servern och klienten kan använda full-duplexanslutning av WebSocket för att kommunicera med varandra samtidigt. En nackdel med Action Cable är dess oförmåga att cache-förfrågningar. En annan nackdel med WebSocket är stödet bland webbläsare eftersom endast 70% på webbläsarmarknaden tillåter WebSocket-anslutningar. Ytterligare nya funktioner i Rails 5
- #or-metoden i ActiveRecord::Relation
- #belongs_to krävs som standard
- Active Record Attribute API
- has_secure_token landade i ActiveRecord
- Mysql active record adapter får Json-stöd
- Gör en mall utanför styrenheten
- Bättre Minitest Test Runner
rails nya my-app-api –apiÅterge var som helst Alla dessa dagar har vi använt ädelstenar som render_anywhere för att återge vyer utanför kontrollern. I Rails 5 kan du återge dina vyer var som helst. Tillsammans med renderingsalternativen finns det också ett alternativ tillgängligt för att skicka omedelbara variabler till mallar. Starta om din app med ett rakekommando I Rail 5 kan du starta om alla dina appar med kommandot omstart av rake. Och för migration: skenor db:migrera Observera att den här listan inte är avgörande och för att veta mer om alla ändringar i Rails 5 rekommenderar vi att du kollar in releasemeddelandet på Rails.Org. Läs också:
- Uppgradera till Rails 5
- Hur man genererar ett Swagger Docs For Rails API
- Hur man genererar och lägger till en webbplatskarta till din Rails-applikation
Prenumerera för de senaste uppdateringarna
relaterade inlägg