我在让 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并通过将其放在上面来使用 Like 控制器进行测试:
class Api::V1::LikesController < Api::V1::BaseController
load_and_authorize_resource :user
load_and_authorize_resource :like, :through => :user
在ability.rb 中使用 can :access, :all 有效,但我尝试限制的其他任何内容都无效,例如:
can :access, :likes
can :access, Like
can :access, :users
can :access, User
can :access, [:"users/likes", :users_likes]
我不太确定这是否是由于命名空间路由造成的。任何指导将不胜感激!