config.active_record.mass_assignment_sanitizer =:strict
有没有办法用MongoID完成同样的事情?
解决方法 通过阅读代码,MongoID使用ActiveModel进行质量分配保护.这与Rails完全相同,但似乎配置并没有完全连接起来.从实现我可以收集这是发生的事情:
attributes.rb assign_attributes调用到processing.rb.
processing.rb然后调用active_model sanitizer,其中呼叫在sanitize结束.
应该引发异常的方法是:process_removed_attributes被strict sanitizer class或logging sanitizer覆盖.
您现在只需要了解如何配置MongoID以在这种情况下使用strict_sanitizer.我正在进一步调查,但它似乎严格来说是一个active_model配置,与MongoID无关.
什么有效但在你的情况下不理想是在模型上分配mass_assignment_sanitizer:
Modelname.mass_assignment_sanitizer = :strict
但这只会改变这一模型.
我在mongoid config中找不到任何消毒剂参考.
以上是内存溢出为你收集整理的ruby-on-rails – 使用Mongoid时在测试中提高质量赋值的异常全部内容,希望文章能够帮你解决ruby-on-rails – 使用Mongoid时在测试中提高质量赋值的异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)