Rails 5.0.0.beta4 ввел предупреждение устаревания о маршрутах, содержащих динамические: действие и сегменты: Контроллер:Рельсы 5.1 Маршрутов: динамическое: Действие параметры
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 состояние:
, учитывающее: контроллер и: значения действий, заданные по пути в config/routes.rb, были основной причиной ряда проблем в Rails, которые привели к выпуску безопасности. В свете этого лучше, чтобы контроллеры и действия явно были помещены в белый список , а не пытались занести в черный список или дезинфицировать «плохие» значения.
Как бы вы сделали «белый список» набора параметров действия? У меня есть следующие в моем файле маршрутов, которые поднимают предупреждение устаревания:
namespace :integrations do
get 'stripe(/:action)', controller: 'stripe', as: "stripe"
post 'stripe/deactivate', controller: 'stripe', action: 'deactivate'
end
Очевидный ответ, кажется, явно определить каждое действие, но это кажется громоздким в контроллер со многими пользовательскими действиями. Возможно, это лучшая практика, так или иначе, n'est-ce pas? – mysmallidea