La future version 5.1 de Rails apporte donc la gestion des dépendances JavaScript de Npm par le biais du nouveau gestionnaire de paquets Yarn de Facebook. Npm permet aux développeurs de partager leur code entre eux pour résoudre certains problèmes ou pour le réutiliser dans leurs applications. Grâce à cette possibilité de gestion des dépendances JavaScript à travers Yam, les utilisateurs peuvent accéder directement à des bibliothèques comme React via Npm. Les actifs sont disponibles dans un pipeline, et le binstub bin/Yam - un exécutable enveloppé dans un script - sert à ajouter les dépendances. Les développeurs travaillant avec la version 5.1 pourront également compiler JavaScript à l'aide du module bundler Webpack via un gem Webpacker. Webpack est un module bundler qui prend les modules avec leurs dépendances et génère des assets statiques pouvant être utilisés sur le navigateur.
Quant au gem, il inclut des installeurs et des fichiers de configuration qui facilitent l’usage de Webpack. À noter cependant que Rails 5.1 supprime jQuery en tant que dépendance par défaut. Depuis la réécriture de Rails-UJS (Ruby on Rails unobtrusive scripting adapter for jQuery) pour permettre l’utilisation de Vanilla JS - un framework multiplateforme qui sert à créer de puissantes applications JavaScript - cette dépendance n'est plus nécessaire.
Une fonction de gestion cryptée des secrets
Rails 5.1 dispose également d'une fonction de gestion cryptée des secrets. La fonction bin/rails secrets:setup permet de configurer un fichier de secrets crypté. Elle génère une clé maître pouvant être stockée en dehors du référentiel, ce qui laisse aux développeurs la possibilité de créer des secrets de production. En ce qui concerne les tests système, Rails 5.1 inclut un emballage de la bibliothèque Capybara Ruby pour les tests d'application. Elle est préconfigurée pour le navigateur Chrome et fournit des copies d'écran des défaillances.
La fonction « mailer » pré-paramétrée permet de faire un appel « mailer » en utilisant les paramètres disponibles avant d’invoquer une action. Rails 5.1 simplifie la création de formulaires en réunissant deux hiérarchies, form_for et form_tag, sous form_with.
Une relation assainie entre Rails et Javascript
Une fonction dite de routes dirigées permet de déclarer des routes programmatiques pouvant utiliser Ruby pour exécuter des fonctions en rapport avec les paramètres choisis. « Pendant longtemps, les relations entre Rails et JavaScript ont été assez orageuses, voire même litigieuses. Mais cette période est terminée », indique l’avis accompagnant la version 5.1.0, signé « dhh », sans doute les initiales de David Heinemeier Hansson, le fondateur de Rails. Le document reconnaît aussi que JavaScript s'est « considérablement amélioré » ces dernières années avec l'avènement de ECMAScript 6 (Harmony), la sixième version du JavaScript 2015, et d'outils comme Yarn et Webpack.