0
我有代码嵌套在公司在我的路线。CanCan嵌套路由
资源:公司,除了:[:摧毁]做 资源:代码,除了:[:摧毁] 结束
能力:
can :read, Company do |c|
user.has_role? :operator, c
end
can :read, Code do |c|
user.has_role? :operator, code.company
end
我CodesController检查
before_filter :set_code, only: [:show, :edit, :update, :activate, :deactivate]
load_and_authorize_resource :except => :create #TODO fix as cancan updates
def index
if params[:company_id]
...
如果我访问/公司/ 1 /代码,我的用户应该无法访问,我看不到任何结果。但是,如果我尝试直接查看/ companies/1,则会得到CanCan AccessDenied。
为什么不显示嵌套索引?
谢谢。我会接受,这是有效的。我如何设置公司显示管理员的所有公司的位置以及公司显示的用户所属的公司? – quantumpotato
这是你通常在能力文件中设置的东西。默认情况下,管理员可以看到一切。正如您现在设置的那样,用户将看到他拥有角色“运营商”的公司 – Danny