我有这样的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&amp ;;中获得Role Inheritance的好处我也希望角色名列表保持与数据库同步。
此外,我希望根据access_one,access_two等在ability.rb
中设置访问权限。在user_role table.so中定义,我该如何实现?
答案 0 :(得分: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而不能照顾权限。喜欢
can :manage, Model_name, Action_name
这将确保特定模型与特定视图的权限一起考虑。