动作控制器中的猴子补丁 unpermitted_parameters
Monkey patch unpermitted_parameters in actioncontroller
我正在查看 rails 6 中的一个 PR,他们在其中为不允许的参数添加了颜色 属性。我发现这对我的应用程序来说非常必要,因为我们通常有很长的日志。我想在我的 Rails 5 应用程序
中包含相同的功能
我在我的应用程序中创建了一个 ext 文件夹并添加了以下代码
并在初始化程序文件夹中
require "#{Rails.root}/app/ext/action_controller_override.rb"
file_name: 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
所以,任何人都可以阐明它并告诉我哪里出错了
我建议将您的代码作为 .rb
文件保存在 config/initializers
文件夹下,该文件将打开 class 并根据您的代码覆盖。
终于找到解决方法
"Unpermitted parameter#{'s' if unpermitted_keys.size > 1}: #{unpermitted_keys.map { |e| ":#{e}" }.join(", ")}".green
关键字green由colorize给出gem
我正在查看 rails 6 中的一个 PR,他们在其中为不允许的参数添加了颜色 属性。我发现这对我的应用程序来说非常必要,因为我们通常有很长的日志。我想在我的 Rails 5 应用程序
中包含相同的功能我在我的应用程序中创建了一个 ext 文件夹并添加了以下代码
并在初始化程序文件夹中
require "#{Rails.root}/app/ext/action_controller_override.rb"
file_name: 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
所以,任何人都可以阐明它并告诉我哪里出错了
我建议将您的代码作为 .rb
文件保存在 config/initializers
文件夹下,该文件将打开 class 并根据您的代码覆盖。
终于找到解决方法
"Unpermitted parameter#{'s' if unpermitted_keys.size > 1}: #{unpermitted_keys.map { |e| ":#{e}" }.join(", ")}".green
关键字green由colorize给出gem