簡體   English   中英

Ruby CanCan具備多個科目(課程)的能力嗎?

[英]Ruby CanCan ability with multiple subjects (classes)?

如何擁有多門康康能力?

我想將能力定義為:

can :change_role, Project, Document  do |prj, doc|
   # my logic here
   ..
end

所以我這樣檢查:

prj1 = Project.find(10)
doc1 = Document.find(...)

user.can? :change_role, prj1,  doc1 

而且它不起作用。

但是康康只允許這樣做:

can :read, Project do |prj|
  ..
end

user.can? :read, prj1

我是否應該創建代理類來存儲兩個主題並將其傳遞給能力?

如何添加具有多個類別/主題的能力?

做這個:

user.can? :change_role, [prj1, doc1]

定義能力:

can :change_role, Array do |p|
  prj = p[0]
  doc = p[1]
  ...
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM