错误提示为:
NoMethodError (undefined method `applied_roles' for nil:NilClass): app/models/ability.rb:50:in `initialize'
只要加上 authorize_resource 就出错,测试环境不会出错,之前也一直不出错,一直到昨天,现在 cancan 是 1.6.10,有没谁遇见过,而且现在只要加上 authorize_resource 的 controller 都会变得非常非常慢
发现问题了。。。cancan 的 initilize 里找不到 current_user...,但是在 controller 里 current_user 确实有。。。有人见过类似的情况没
不确定具体问题,但是可以确定的是此问题跟 nginx / unicorn / production mode 无关,建议不要在这几个东西上面浪费时间,问题应该在你的代码里面。
#2 楼 @lgn21st 谢谢了,我查出来了,不过还是很郁闷。。。我把 ablility.rb 最后一次改过的几行删除,然后手动重新输入了一遍,问题解决了。。。。
#3 楼 @mjf429 难道是不小心加入了中文空格等等不该有的东西?