在cancan的文档中,它显示了如何以这种方式获取所有可访问的记录(在http://wiki.github.com/ryanb/cancan/fetching-records中):
@articles = Article.accessible_by(current_ability)
但是current_ability
是什么?我已经尝试传递我用于身份验证和授权的当前用户,但是我遇到了这个错误:
NoMethodError: undefined method `conditions' for #<User:0x1092a3b90>
任何想法我应该传递给accessible_by
或者这里有什么问题?
答案 0 :(得分:10)
CanCan使用ActionController::Base
方法(以及其他方法)扩展current_ability
,这是ApplicationController
应继承的类。因此,问题中的示例代码应该按原样运行。