加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用CanCan授权Namespaced和嵌套控制器

发布时间:2020-12-17 03:14:48 所属栏目:百科 来源:网络整理
导读:我有很多麻烦让cancan授权我的新路线设置如下: namespace :api donamespace :v1 do resources :users do resources :user_songs resources :friendships resources :plays resources :likes resources :songs 我已经按照这里发布的https://github.com/ryanb
我有很多麻烦让cancan授权我的新路线设置如下:

namespace :api do
namespace :v1 do
  resources :users do
    resources :user_songs
    resources :friendships
    resources :plays
    resources :likes
    resources :songs

我已经按照这里发布的https://github.com/ryanb/cancan/wiki/Nested-Resources进行了测试并通过以下方式对喜欢的控制器进行了测试:

class Api::V1::LikesController < Api::V1::BaseController

load_and_authorize_resource :user
load_and_authorize_resource :like,:through => :user

使用can:access,:all in ability.rb有效,但我试图限制的任何其他内容都没有例如:

can :access,:likes
can :access,Like
can :access,:users
can :access,User
can :access,[:"users/likes",:users_likes]

我不太确定责任是否是因为命名空间路由.任何指导都将非常感谢!

解决方法

找到答案:毕竟这是命名空间,它只需要一个

可以:访问,“api / v1 / likes”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读