Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将cancancangem 用于基于角色的授权规则。我需要执行以下操作:
cancancan
can :read, Post, Post.status = 1
这意味着用户可以阅读状态 = 1 的帖子。我该怎么做?
根据文档,它应该很简单
can :read, Post, status: 1
对于这些条件,您必须使用数据库列(即确保status是表中的列posts)。
status
posts
如果不是这种情况,或者您需要比条件哈希更复杂的东西,您可以查看使用块定义能力
希望这可以帮助。
尝试
can(:read, Post, status: 1)