CanCanCan - 定义能力&句法

时间:2015-09-01 06:27:28

标签: ruby-on-rails cancan cancancan

我正在使用Rails 4,设计,角色模型和CanCanCan制作应用。

我正在尝试在我的能力中定义能力.rb。

我正在尝试以下方法:

Background modes > Location updates

但是,我在上面的行中收到语法错误:

  can :read, Project, {:active => true, :closed => false  &&  Project.sweep.disclosure.allusers => true}

我试过更换=> with:true,在这种情况下我得到语法错误,其中包含:

syntax error, unexpected =>, expecting '}'
...ct.sweep.disclosure.allusers => true}

我还尝试在属性开始之前放置冒号,在这种情况下我收到此错误:

syntax error, unexpected tSYMBEG, expecting '}'
...ect.sweep.disclosure.allusers :true}

我想不出更多的尝试方法。

我正在尝试测试的相关属性位于名为Disclosure.rb的模型中。该模型属于名为Sweep.rb的模型。 Sweep属于名为Project.rb的模型。

我无法弄清楚如何定义能力,这些错误已经耗尽了我。有没有人知道如何使用CanCanCan来定义能力,如果有的话,请你能看到我在定义确定该用户是否可以看到这些项目的属性方面做错了吗?

1 个答案:

答案 0 :(得分:0)

如评论中所述,您应该使用类似

的内容
{:active => true, :closed => false, :sweep => { :disclosure => { :allusers => true } } }