我正在使用康康,并尝试过两者
可以:index,document,:user_ID =>用户身份
can:read,:user_ID =>用户身份
然后在document控制器索引方法上
if can? :read,document @documents = @user.documentselse redirect_to root_pathend
也试过:索引以及…但这不起作用.我也在使用load_and_authorize_resource ..
对我失踪的任何想法?
我会说,cancan正在为我的用户管理和用户控制器工作,管理员可以创建,列出和编辑用户,所以我知道cancan一般都在工作.它还用于更新和删除用户文档.只是索引功能不起作用.
class Ability include CanCan::Ability def initialize(user) user ||= User.new # guest user (not logged in) if user.ID if user.has_role? :user can :create,document can :read,:user_ID => user.ID can :update,:user_ID => user.ID end end end end解决方法 您必须确保未登录的用户以及user.ID与document的user_ID(文档所有者)不同的用户无权读取所有文档.
class Ability include CanCan::Ability def initialize(account) user ||= User.new #non-logged-in user # logged in users if user.ID and user.has_role?(:user) #content owners can :manage,:user_ID => user.ID #other logged-in users can [:show,:create],document end endend
小心你没有像can一样的行:read,:all或can:read,document如果你说cancan已经在工作,你很可能会在某处提供权限.
总结以上是内存溢出为你收集整理的ruby-on-rails – 使用CanCan将索引页面上的视图限制为user_id全部内容,希望文章能够帮你解决ruby-on-rails – 使用CanCan将索引页面上的视图限制为user_id所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)