我有一个问题,我正在使用cancan的accessible_by来返回授权公告,资源等(基于特定公告,资源等的subject_id)。我希望能够针对各种标准搜索所有这些模型,并且结果集仅返回有效和授权结果,以允许分页,订购等。
老实说,如何最好地解决这个问题我真的有些失落。起初我想也许我可以做一个多态表“搜索”,它存储来自每种模型的各种属性(基本上是一个索引表),但似乎我当时无法真正授权基础模型。
任何帮助都会受到赞赏,或者对更好的方法有所了解。唯一真正的要求是对应用程序中内容的“全局搜索”,其中仅返回当前用户的授权结果。
答案 0 :(得分:0)
在Rails3中,由于关系运算符返回关系,因此可以进一步链接它们 在控制器操作中:
Model.accessible_by(current_ability).where('name LIKE "%?%"', params[:search])