我一直在收到错误,我认为可以解决 运行测试时禁用acts_as_audited,或者至少是stubing 审计清扫工中的current_user。错误如下。你觉得我怎么样? 应该做什么?
NoMethodError in 'Order should create a new instance given valid attributes'
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.current_user
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `send'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `current_user'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:61:in `after_create'
./spec/models/order_spec.rb:13:
在spec / models / order_spec.rb中,我尝试将AuditSweeper.current_user,template.current_user和controller.current_user存根,以返回模拟用户模型。没有用。
感谢任何帮助。谢谢!
答案 0 :(得分:3)
看起来正在调用其中一个对象current_user是nil。如此存在当前用户将无法正常工作。你需要追踪nil对象并确保它已初始化。