Примечание : ответом был способ заставить его работать на Rails 2.x ~> 3.0. Начиная с Rails 3.1, если вы установите config.filter_parameters
, Rails также отфильтрует чувствительный параметр в строке запроса. См. этот коммит для более подробной информации.
Я думаю, что в этом случае вам необходимо переопределить complete_request_uri
в ActionController :: Base , поскольку ActionController :: Benchmarking вызывает этот метод и печатает строку, которая выглядит следующим образом:
Completed in 171ms (View: 35, DB: 7) | 200 OK [http://localhost:3000/]
Я думаю, вы можете поместить это в инициализатор, чтобы переопределить этот метод
class ActionController::Base
private
def complete_request_uri
"#{request.protocol}#{request.host}#{request.request_uri.gsub(/secret=([a-z0-9]+)/i, "secret=[FILTERTED]")}"
end
end
Обратите внимание, что вам нужно немного поиграть с регулярным выражением, чтобы заменить его на ту часть, которую вы хотели.