Je suis en train de essayer de passer à Rails 5, je reçois le avertissement de dépréciation suivant :
AVERTISSEMENT DÉPRÉCIÉ : La méthode to_hash est dépréciée et sera supprimée dans Rails 5.1, car
ActionController::Parameters
n'hérite plus de hash. L'utilisation de ce comportement déprécié expose des problèmes de sécurité potentiels. Si vous continuez d'utiliser cette méthode, vous pourriez créer une vulnérabilité de sécurité dans votre application qui peut être exploitée. Au lieu de cela, envisagez d'utiliser l'une de ces méthodes documentées qui ne sont pas dépréciées : http://api.rubyonrails.org/v5.0.0/classes/ActionController/Parameters.html (appelé depuis column_header à /Data/Projects/portal/trunk/app/helpers/application_helper.rb:114)
La ligne sur laquelle se trouve l'avertissement semble comme suit :
link_to(name,
{
action: action_name,
params: params.merge({ order: key, page: nil })
},
{
title: "Trier par ce champ",
}) +
Comme vous pouvez le voir, je n'appelle pas to_hash
. Peut-être que Rails le fait. Peut-être qu'un autre gem le fait. Je n'ai aucun moyen de le savoir, car ils n'ont pas jugé utile de fournir une trace de la pile. (Conseil professionnel - il est généralement utile de fournir une trace de la pile !)
Donc j'ai suivi le lien, en planifiant de trouver un remplaçant, et la méthode merge
ne semble pas être dépréciée, mais peut-être qu'ils ont simplement oublié de documenter le statut de dépréciation, donc je ne peux pas vraiment être sûr.
Alors que suis-je censé faire pour résoudre cela ?