我有几个模型,我正在使用 Papertrail 跟踪版本更改。我想提取最近活动的时间线视图的版本,但用户应该只看到他们有权查看的模型的更改。
我使用 Cancan 来控制对应用程序所有区域的访问,Ability 类具有我需要的所有业务逻辑。但是,它在规则集中指定模型名称,例如 Post,而 PaperTrail 使用 Version 模型来存储更改。
我如何(有效地)将两个系统联系在一起,以便我可以要求数据库仅返回关联模型对用户可见的版本模型?我可以通过获取整个站点的整个时间线并在 Ruby 中循环它来做到这一点,但这是不可扩展的,我需要使用范围以便它在 SQL 中发生。