rails CanCan:使用accessible_by和其他'where'子句获取记录?

时间:2011-08-05 13:21:02

标签: ruby-on-rails authorization record cancan

我目前正在使用CanCan的the accessible_by method来获取模型的相关记录,登录用户可以访问该记录。到目前为止,非常好。

但是如何添加这样的Foobar.accessible_by(current_ability)附加'where'子句?

我尝试了Foobar.accessible_by(current_ability).where(...),但这给了我一个例外:SQLite3::SQLException: ambiguous column name

1 个答案:

答案 0 :(得分:2)

您要包含共享相同属性的模型。如果要使用此属性并保留包含,则需要指定模型,例如:

Foo.include(:bar).where(:bar => { :name => 'xyz' })

这应该在你的能力或.where(...)中完成,但这取决于该能力的内容和位置。