Ruby on rails 使用rails 4记录我想要的未经许可的参数请求?
我读到有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参数,您将无法执行此操作 以下是原始实现: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。默认值为:登录
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分支并在那里实现您的逻辑