Cancancan具体案例的能力

时间:2015-06-28 13:08:53

标签: ruby-on-rails ruby cancancan

我将cancancan gem用于基于角色的授权规则。我需要预先形成类似的东西:

can :read, Post, Post.status = 1

这意味着用户可以阅读状态为1的帖子。我该怎么做?

2 个答案:

答案 0 :(得分:1)

根据docs,它应该像

一样简单
can :read, Post, status: 1

您必须为这些条件使用数据库列(即确保statusposts表中的列。)

如果情况并非如此,或者您需要比条件哈希更复杂的内容,则可以查看Defining Abilities with Blocks

希望这有帮助。

答案 1 :(得分:0)

尝试

can(:read, Post, status: 1)