【发布时间】:2016-11-10 19:59:16
【问题描述】:
我正在使用 pundit gem 并试图弄清楚如何使用它来防止访问属于 current_user 以外的用户的索引页面。
这些示例仅讨论如何将结果范围限定为 current_user,但没有讨论如果 current_user 不是记录的所有者,如何实际阻止对页面本身的访问。
任何帮助表示赞赏
谢谢
【问题讨论】:
-
我认为索引页面不属于任何用户。目标是否仅限于管理员访问?
-
@moveson 它是特定用户的索引页面,它就在那里。也许它不应该是索引页面,而是用户控制器中的单独操作,例如 user_posts
-
这对我来说更有意义。下面描述的模式应该可以工作;只需将
index?替换为user_posts?。有关将authorized_to_edit?逻辑放置在何处的替代建议,请参见下面@Fede Bonisconti 的评论。如果将它包含在 User 模型以外的任何位置,则需要调用authorized_to_edit?(current_user)而不是current_user.authorized_to_edit?
标签: ruby-on-rails ruby pundit