0
我修改了我的设计表,用户,有一个清除列。此列是表示用户权限(读取,读取/写入,完全控制)的数字(1-3)。与我正在阅读的所有示例不同,我的 Clearance(示例中的角色)不是具有关系的独立表,而是Devise表(User)中的自己的列。它的默认值是1康康和设计不工作
我ability.rb看起来是这样的:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.clearance.equal?("2")
can :create, Post
can :manage, Post, :user_id => user.id
else
can :read, :all
end
end
end
我写这关我见过的其他例子(我真的很新的Rails,但是想不请求帮助,除非绝对必要),意图使用许可值为2的用户可以创建帖子并仅管理帖子。我还包括了,因为我还没有为1和3编写代码,所有其他清除数字都可以读取所有内容。
然而,Cancan认为,我的用户(确认通关等级2)属于“其他”规定,因此我只能阅读帖子。我得到一个你没有权限访问此页面的消息,如果我尝试做一个新的。 我迷路了。帮帮我?
就是这样。谢啦。就像我说的,我是新的。但我在学习。一旦Stack让我看,我会尽快检查你的答案。 – 2012-07-29 19:35:45