0

我有这样的 user_role 表:

user_role_id (pk)
name (e.g admin)
access_one
access_two
acccess_three

和 user_table 的列如下:

user_id (pk)
user_role_id (fk)
username
password

我可以通过管理面板创建上面的 users_roles。那么我该如何使用命名角色呢?这样我就可以从cancan 中的角色继承中受益,并且我希望角色名列表应该与数据库保持同步。
此外,
我希望ability.rb根据 access_one、access_two 等设置访问权限。在 user_role table.so 中定义,我怎样才能做到这一点?

4

1 回答 1

0

最好看的地方是

康康能力

Cancan 有一个非常好的文档。只是通过它会很有帮助。

编辑:

      user ||= User.new # guest user (not logged in)
        if user.admin?
          can :manage, :all
        elsif user.student?
          can :manage, [Book, Copies]
          can :manage, Theme
        else  
          can :read, :all
        end

      end

您可以使用 can 和 cannot 来处理权限。喜欢

can :manage, Model_name, Action_name 

这将确保考虑到特定模型以及指定视图的权限。

于 2012-11-23T09:26:41.883 回答