- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 rails exception-notifier gem 运行 rails3。当发生异常并且应该发送电子邮件时,我从 ParameterFilter 类中得到一个异常。我在 Rails 源代码中发现了问题,但我不确定继续的最佳方式。
问题出现在ActionDispatch::Http::ParameterFilter。在compiled_filter方法中,第38行报错:key = key.dup
when key
is a symbol,因为symbols是不可复制的。这是来源:
def compiled_filter
...
elsif blocks.present?
key = key.dup
value = value.dup if value.duplicable?
blocks.each { |b| b.call(key, value) }
end
我看到他们只在 value
是 duplicable
时调用 dup
。如果我将源修补为仅在 key
为 duplicable
时在 key
上调用 dup
,那么我的问题就会消失。我假设作者将条件放在 value
而不是 key
上是有原因的,所以我很好奇是否有人对这段代码有更好的理解.
此错误仅在您将 block 添加到 application.rb 中的过滤器参数时发生。因此,对于我的原始问题,也许有一个不需要在此处使用 block 的解决方法。如果您有兴趣,请参阅我同事的问题 Rails: Filter sensitive data in JSON parameter from logs
这是一个问题的关键是:action
。这来自 rails,我不知道是否有任何方法可以强制它成为一个字符串。
我提交了一个 Rails 错误 https://rails.lighthouseapp.com/projects/8994/tickets/6557-symbol-duplication-error-in-parameterfilter-compiled_filter我已经准备好一个补丁,可以将 if key.duplicable?
添加到 key.dup
行,我正在寻找关于这是否是正确解决方案的意见。
最佳答案
这看起来像是 Rails 中的一个错误。键应该是字符串而不是符号,或者 dup
应该受 duplicable?
保护。
您应该在 https://rails.lighthouseapp.com/ 提交错误,如果可能的话包括一个最小的测试用例。
关于ruby - Rails:ParameterFilter::compiled_filter 尝试复制符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265431/
我正在使用 rails exception-notifier gem 运行 rails3。当发生异常并且应该发送电子邮件时,我从 ParameterFilter 类中得到一个异常。我在 Rails 源
我已经创建了一个新的 Pester fixture 并试图模拟对 Get-Date CmdLet 的调用,但它不起作用。如果我不使用 -ParameterFilter,它确实有效。 虚拟.ps1 fu
我们正在尝试检查 CmdLet Start-ScheduledTask 是否已为特定计划任务准确调用一次。但由于某种原因,ParameterFilter 不匹配。 代码 $here = Split-P
我是 Pester 的新手,所以请多多包涵。我们正在尝试对执行一些事件目录查询和验证数据的非常大的脚本进行测试。我已将其简化为以下示例: Dummy.ps1 Param ( [String]$
我是一名优秀的程序员,十分优秀!