RoR:CanCanCan仅授权用户创建的项目
这段代码有什么问题? 普通用户仍然可以看到所有的关系,当他应该只看到他自己的。
我的观看代码:
我的Ability
课程:
can :manage, :all if user.role == "admin" if user.role == "normal" can :read, Relato , :user_id => user.id can :manage, Relato, :user_id => user.id end
您需要为特定实例授权用户:
<%= if can? :read, relato %>
当您尝试为整个类授权用户时,如上所述,CanCanCan会忽略在Ability中定义的任何条件,因为它无法确定整个Relato
模型的user_id
字段; 它只能用于单个relato
实例。
- 基于具有has_many关联的子集合计数的查询始终显示无结果
- undefined方法`authenticate_user! Devise / Rails 4中的Api :: PostsController