【发布时间】:2016-05-08 23:56:00
【问题描述】:
目前我有一个User 模型,它使用acts as taggable on 给用户“角色”。所以我会有一个Member、Admin、Moderator 的标签。每个用户都有Reports 的关系。但是,会员应该只能看到他们的报告,版主应该能够看到他们的报告和任何会员的报告,最后管理员应该能够看到所有内容。
目前,我会在每个通过 if 语句访问报告的控制器页面上处理此问题,但这似乎是一种糟糕的做法,最终会导致有人看到他们不应该看到的报告。所以这让我想到是否有可能对模型的文件设置某种限制以在一个地方解决这个问题。
【问题讨论】:
-
您必须注意,您无法访问
current_user以在模型层中可用。您必须将current_user作为范围的参数传递
标签: ruby-on-rails acts-as-taggable-on user-roles default-scope