什么是cancan的accessible_by(提取记录)中的current_ability?

时间:2010-07-30 05:34:30

标签: ruby-on-rails ruby scope authorization cancan

在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或者这里有什么问题?

1 个答案:

答案 0 :(得分:10)

CanCan使用ActionController::Base方法(以及其他方法)扩展current_ability,这是ApplicationController应继承的类。因此,问题中的示例代码应该按原样运行。