使用CanCan授权Namespaced和嵌套控制器
我有很多麻烦让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 :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]
我不太确定责任是否是因为命名空间路由。 任何指导都将非常感谢!
找到答案:毕竟这是命名空间,它只需要一个
can :access, "api/v1/likes"