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实例。