我已经看过了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'
发布于 2018-07-29 04:29:03
我不确定什么是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
的键的通知上执行此操作。这样,您实际上可以说“让admin_user能够阅读属于他的通知”。
https://stackoverflow.com/questions/51574221
复制相似问题