Могу ли я запретить параметры регистрации, отправленные методу контроллера? - PullRequest
0 голосов
/ 21 октября 2019

Последний шаг в одном из моих текущих проектов - создание Zip-архива с использованием гема rubyzip в Ruby. Для этого я создаю содержимое архива, помещаю его в параметр с именем zip_content и отправляю его в метод show моего контроллера, где пользователь может нажать кнопку для загрузкиархивировать на свой компьютер.

В режиме разработки Rails автоматически записывает содержимое параметров, передаваемых в метод контроллера, в консоль, а также в log / development.log. Обычно, когда я разрабатываю приложение Rails, мне нравится видеть параметры, передаваемые моим методам контроллера, например:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"LongStringOfCharacters==", 
"project"=>{"archive_file"=>"ARCHIVE_2019-10-02T154945.zip",  
"zip_content"=> ... long string of binary data snipped ... },
"commit"=>"Download ARCHIVE_2019-10-02T154945.zip"}

Часть приложения, которая создает архив, работает просто отлично, поэтому я не надеваюдействительно не нужно видеть параметры для целей отладки, особенно sinze zip_content очень длинный и полон двоичных данных и загромождает экран.

Есть ли способ запретить регистрацию параметровдля этого одного метода?

Я использую Rails 6 для этого проекта, если важна версия.

Спасибо.

1 Ответ

1 голос
/ 21 октября 2019

В config/initializers/filter_parameter_logging.rb файле измените эту строку по умолчанию

Rails.application.config.filter_parameters += [:password]

на

Rails.application.config.filter_parameters += [:password, :zip_content]

Надеюсь, это поможет!

...