我正在尝试运行rake来测试我的Rails 3.2.3应用程序并且我得到了这个奇怪的错误
gems/1.9.1/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security.rb:206:in `const_get': uninitialized constant ActiveRecord::Base::StrictgitSanitizer (NameError)
我的规格文件完全是空的,我还没有开始编写测试代码,只是空白自动生成的spec文件。
我需要有关如何调试此问题的想法。
答案 0 :(得分:2)
我想知道您是否在{strong> config / environment.rb 中意外地将git
粘贴到config.active_record.mass_assignment_sanitizer = :strict
。不知何故,ActiveModel使用Strictgit
作为名称的一部分,它应该使用Logger
或Strict
之类的内容。
我刚看了 gems / 1.9.1 / gems / activemodel-3.2.3 / lib / active_model / mass_assignment_security.rb 的第206行,其中发生了错误。围绕线206的方法是:
def mass_assignment_sanitizer=(value)
self._mass_assignment_sanitizer = if value.is_a?(Symbol)
const_get(:"#{value.to_s.camelize}Sanitizer").new(self)
else
value
end
end
据我所知,mass_assignment_sanitizer=(value)
仅在Rails本身中使用:logger
和:strict
的值进行调用。