Патч обезьяны unpermitted_parameters в actioncontroller - PullRequest
1 голос
/ 22 октября 2019

Я проходил через один из PR в рельсах 6, где они добавили свойство цвета к недопустимому параметру. Я нашел это весьма необходимым для моего приложения, потому что у нас обычно очень длинный журнал. Я подумал включить ту же функциональность в моем приложении на Rails 5

Я создал папку ext внутри своего приложения и там добавил следующий код

И в папку инициализаторов

require "#{Rails.root}/app/ext/action_controller_override.rb"

имя_файла: action_controller_override.rb

ActionController::LogSubscriber.class_eval do

  def unpermitted_parameters(event)
      debug do
        unpermitted_keys = event.payload[:keys]
        color("Unpermitted parameter#{'s' if unpermitted_keys.size > 1}: #{unpermitted_keys.map { |e| ":#{e}" }.join(", ")}", RED)
      end
    end

end

Но приведенный выше код дает мне ошибку.

Не удалось зарегистрировать событие unpermitted_parameters.action_controller. NameError: неинициализированная константа RED

Итак, кто-нибудь может пролить свет на это и сказать мне, где я иду не так

1 Ответ

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

Я предлагаю сохранить ваш код в папке config/initializers как файл .rb, который откроет класс и переопределит его в соответствии с вашим кодом.

Кроме того, обратите внимание на 3 способа обезьяньего патча

...