Rails:从日志中过滤整个表单参数

时间:2014-09-21 03:49:09

标签: ruby-on-rails

我知道Rails允许您从日志中过滤特定字段。如何过滤整个表单

我有一个用于登录银行的表单,我从API获取字段,密码字段的名称有千种变化:password1,token,pin等。我只需要完全过滤表单因为我无法预测密码字段名称。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

记录很少,但filter_parameters也会接受正则表达式或lambda。要过滤每个字段,您只需要使用匹配所有内容的正则表达式,例如:

# config/initializers/filter_parameter_logging.rb (or `config/application.rb` for Rails 3)
config.filter_parameters += //

但是,将 想要记录的参数列入白名单可能会更有用,在这种情况下,您可以执行以下操作:

config.filter_parameters += /^((?!.*(id|first_name|last_name)).*)$/

或者:

config.filter_parameters += ->(param) { param !~ /^(id|first_name|last_name)$/ }