Rails 5 a été annoncé par David Heinemeier Hansson (DHH), créateur du framework Ruby on Rails, lors de la RailsConf 2015 à Atlanta. La version 5.0.0 Beta de Ruby a été publiée le 18 décembre 2015. En dehors de Rails 4, les nouvelles fonctionnalités sont mises en œuvre dans la version 5 comme le câble d'action et les turbolinks améliorés qui peuvent instantanément améliorer le flux de travail de développement web. Voici les fonctionnalités de Rails 5 :
Prise en charge de la version de Ruby :
Rails 5 va seulement fonctionne avec Ruby 2.2.1 et plus. Les caractéristiques suivantes justifient l'utilisation de Ruby 2 ou d'une version plus récente : Collecteur de déchets de symboles Dans les applications Ruby On Rails, nous passons généralement des symboles partout, ce qui ouvre la possibilité d'attaques DoS lorsque notre mémoire est consommée par des symboles qui ne sont jamais ramassés par le garbage collector. Ruby 2.2.0 a introduit des changements dans son garbage collector afin de pouvoir collecter les symboles. Module #prépendant Permet d'insérer un module devant la classe à laquelle il a été ajouté. Arguments sur les mots-clés Ruby 2.0 a introduit un support de première classe pour les arguments de type mot-clé :def foo(bar : 'default') met bar fin foo # => 'default' (défaut) foo(bar : 'baz') # => 'baz' GC incrémentielCela permettra de réduire la consommation de mémoire des applications Rails. Suppression du code obsolète et nettoyage Action Mailer Les méthodes #deliver et #deliver ! ont été supprimées, utilisez les nouvelles méthodes deliver_now ou deliver_later.
L'aide *_path dans les vues d'email a été supprimée et utilise *_url.Enregistrement actif Les attributs protégés (attr_accessible) ne sont plus du tout pris en charge. Non prise en charge de la gemme activerecord-deprecated_finders. Assertions de l'ActionPack Les assertions assert_template et assigns() sont obsolètes et déplacées dans leur propre gem rails-controller-testing.
ActiveRecord::Base#has_secure_tokenRails 5 a introduit has_secure_token pour inclure un jeton aléatoire dans les modèles. Vue de l'action Dans la vue d'action, les méthodes d'aide telles que content_tag_for et div_for ont été retirées du noyau et déplacées dans une gemme séparée record-tag-helper. Turbolinks Nouveau Turbolinks 3 résout l'un des problèmes majeurs de Rails. Quelques applications web fonctionnent très lentement parce qu'elles rechargent la page entière depuis le serveur. Ce nouveau Turbolinks 3 ne recharge que le contenu du corps de la page, il ne recharge pas la page entière. Il vous permet de spécifier quels éléments doivent être remplacés par des partiels. La fonctionnalité de remplacement partiel est l'un des changements les plus significatifs de Rails 5. Nous pourrons indiquer à Turbolinks, côté client, le contenu que nous devons modifier/remplacer et celui que nous ne voulons pas. Pour décider de la stratégie de remplacement dans le DOM, Turbolinks recherche les attributs HTML5 data-turbolinks-permanent et data-turbolinks-temporary. Nous pouvons utiliser turbolinks.visit ou Turbolinks.replace pour mettre à jour le DOM et déclencher un remplacement côté client. Visit enverra un GET au serveur pour obtenir le HTML qui doit être utilisé pour remplacer notre DOM et replace attend de nous le HTML qui doit être utilisé pour son opération. Les mêmes fonctionnalités peuvent être déclenchées côté serveur avec redirect_to et render, qui peuvent tous deux recevoir les options change, keep et flush. Mais redirect_to peut aussi recevoir des turbolinks avec true ou false pour forcer une redirection. Câble d'action Câble d'action est un framework, utilisé pour étendre Rails via les Websockets afin d'ajouter une fonctionnalité de passage de messages en temps réel. C'est probablement l'une des meilleures choses de Rails 5. Il intègre en douceur les WebSockets au reste de l'application Rails. Le câble d'action permet d'ajouter très facilement des fonctionnalités en temps réel à votre application. La raison pour laquelle cette fonctionnalité a été ajoutée est le besoin croissant d'une telle fonctionnalité. Elle a été introduite pour étendre les fonctionnalités de Rails avec une messagerie en temps réel utilisant les WebSockets. Action Cable offre de nombreux avantages, notamment celui d'être une connexion ouverte, extrêmement légère par rapport à d'autres requêtes HTTP. Un autre avantage est qu'une fois la connexion établie, elle reste ouverte. Grâce à cette ligne ouverte, le serveur et le client peuvent communiquer sans avoir à rétablir une nouvelle connexion. Le serveur et le client peuvent utiliser la connexion full-duplex de WebSocket pour communiquer l'un avec l'autre en même temps. L'un des inconvénients du câble d'action est son incapacité à mettre les requêtes en cache. Un autre inconvénient de WebSocket est la prise en charge par les navigateurs, car seulement 70% du marché des navigateurs permet les connexions WebSocket. Nouvelles fonctionnalités supplémentaires dans Rails 5
- Méthode #or dans ActiveRecord::Relation
- #belongs_to est requis par défaut
- API d'attributs d'enregistrements actifs
- has_secure_token débarqué dans ActiveRecord
- L'adaptateur Mysql active record prend en charge Json
- Rendre un modèle en dehors du contrôleur
- Meilleur exécuteur de tests Minitest
rails new my-app-api -apiRendu de n'importe où Tous ces jours, nous avons utilisé des gemmes comme render_anywhere pour rendre les vues en dehors du contrôleur. Dans Rails 5, vous pouvez rendre vos vues depuis n'importe où. En plus des options de rendu, il y a aussi une option disponible pour passer des variables instantanées aux modèles. Redémarrez votre application avec une commande Rake Dans Rail 5, vous pouvez redémarrer toutes vos applications avec la commande redémarrage du râteau. Et pour la migration : base de données rails: migrer Notez que cette liste n'est pas exhaustive et que pour en savoir plus sur tous les changements de Rails 5, nous vous recommandons de consulter l'annonce de la version sur Rails.Org. A lire également :
- Passer à Rails 5
- Comment générer une documentation Swagger pour une API Rails
- Comment générer et ajouter un sitemap à votre application Rails
Abonnez-vous pour les dernières mises à jour
Articles Similaires