灿灿灿。如何仅显示属于当前登录管理员的项目
CanCanCan. How to show only items that belong to that current logged in admin
我已经完成了 Rails 教程和 Cancancan、ActiveAdmin 文档。现在我在尝试进行授权时卡住了,该授权允许当前登录的 admin_user 只能看到属于 admin_user 的通知。
这是我的代码:
def initialize(admin_user)
can :read, AdminUser, id: admin_user.id
can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin"
can :read, Notification, id: notification.admin_user_id
end
我试着玩弄 notification.admin_user_id 部分,但我总是得到错误
undefined local variable or method 'notification'
不确定 Notification
是什么,但如果让我们说 Notification
belongs_to :admin
并因此有 admin_id
列,我相信你应该这样写
can :read, Notification, admin_id: admin_user.id
换句话说,您不应该在那些具有特定 id
的通知上设置权限。您应该在具有特定 admin_id
或 admin_user_id
或 user_id
或指向通知所属的 admin_user
的任何键的通知上执行此操作。这样你说的其实是 "let admin_user be able to read the notifications which belong to him"
我已经完成了 Rails 教程和 Cancancan、ActiveAdmin 文档。现在我在尝试进行授权时卡住了,该授权允许当前登录的 admin_user 只能看到属于 admin_user 的通知。 这是我的代码:
def initialize(admin_user)
can :read, AdminUser, id: admin_user.id
can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin"
can :read, Notification, id: notification.admin_user_id
end
我试着玩弄 notification.admin_user_id 部分,但我总是得到错误
undefined local variable or method 'notification'
不确定 Notification
是什么,但如果让我们说 Notification
belongs_to :admin
并因此有 admin_id
列,我相信你应该这样写
can :read, Notification, admin_id: admin_user.id
换句话说,您不应该在那些具有特定 id
的通知上设置权限。您应该在具有特定 admin_id
或 admin_user_id
或 user_id
或指向通知所属的 admin_user
的任何键的通知上执行此操作。这样你说的其实是 "let admin_user be able to read the notifications which belong to him"