Ruby on rails 使用rails 4记录我想要的未经许可的参数请求?

Ruby on rails 使用rails 4记录我想要的未经许可的参数请求?,ruby-on-rails,parameters,actioncontroller,Ruby On Rails,Parameters,Actioncontroller,我读到有config.action\u controller.action\u on\u unpermitted\u parameters=:raise action controller,但我不想运行raise异常 我需要运行我自己的方法。有可能吗?怎么做 例如,如果我想登录到特殊的SQL表中,请输入未经允许的参数。根据 这些值可以是:log以在记录器上写入消息或:raise以引发ActionController::UnpermittedParameters exception。默认值为:登录

我读到有config.action\u controller.action\u on\u unpermitted\u parameters=:raise action controller,但我不想运行raise异常

我需要运行我自己的方法。有可能吗?怎么做

例如,如果我想登录到特殊的SQL表中,请输入未经允许的参数。

根据

这些值可以是:log以在记录器上写入消息或:raise以引发ActionController::UnpermittedParameters exception。默认值为:登录测试和开发环境,否则为false

因此,看起来如果不重写ActionController::ParametersUnallowed\u参数,您将无法执行此操作

以下是原始实现:

module ActionController
  class Parameters < ActiveSupport::HashWithIndifferentAccess
    def unpermitted_parameters!(params)
      unpermitted_keys = unpermitted_keys(params)
      if unpermitted_keys.any?
        case self.class.action_on_unpermitted_parameters
        when :log
          name = "unpermitted_parameters.action_controller"
          ActiveSupport::Notifications.instrument(name, keys: unpermitted_keys)
        when :raise
          raise ActionController::UnpermittedParameters.new(unpermitted_keys)
        end
      end
    end
  end
end
您可以添加另一个case分支并在那里实现您的逻辑