Rails 5.0.0.beta4 eine deprecation Warnung auf Strecken enthält dynamische eingeführt: Aktion und: controller Segmente:Schienen 5.1 Routes: dynamisch: Aktionsparameter
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.1.
The commit message from this PR Zustände:
Zulassen: Controller und: Aktionswerte, die über den Pfad in config/routes.rb angegeben werden müssen, waren die Ursache für eine Reihe von Problemen in Rails, die zu Sicherheitsupdates geführt haben. In Anbetracht dieser ist es besser, dass Controller und Aktionen explizit Whitelists sind, anstatt zu versuchen, "schlechte" Werte auf die schwarze Liste zu setzen oder zu bereinigen.
Wie würden Sie eine Reihe von Aktionsparametern "auf die weiße Liste setzen"? Ich habe folgendes in meinen Routen-Datei, die die deprecation Warnung heben:
namespace :integrations do
get 'stripe(/:action)', controller: 'stripe', as: "stripe"
post 'stripe/deactivate', controller: 'stripe', action: 'deactivate'
end
Die offensichtliche Antwort jede Aktion zu sein scheint, um explizit zu definieren, aber dies in einem umständlichen scheint Controller mit vielen benutzerdefinierten Aktionen. Vielleicht ist das sowieso eine gute Praxis, n'est-ce pas? – mysmallidea