tôi có khá nhiều rắc rối nhận Cancan cho phép thiết lập các tuyến đường mới của tôi dưới đây:ủy quyền namespaced và Nested bộ điều khiển sử dụng Cancan
namespace :api do
namespace :v1 do
resources :users do
resources :user_songs
resources :friendships
resources :plays
resources :likes
resources :songs
Tôi đã theo những gì đã được đăng ở đây https://github.com/ryanb/cancan/wiki/Nested-Resources và thử nghiệm nó với bộ điều khiển thích bởi đặt này trên:
class Api::V1::LikesController < Api::V1::BaseController
load_and_authorize_resource :user
load_and_authorize_resource :like, :through => :user
Sử dụng có thể: truy cập,: tất cả các công trình ability.rb nhưng bất cứ điều gì khác tôi đã cố gắng để hạn chế là chưa ví dụ:
can :access, :likes
can :access, Like
can :access, :users
can :access, User
can :access, [:"users/likes", :users_likes]
Tôi không quá chắc chắn nếu đổ lỗi là do các tuyến đường không gian tên hay không. Bất kỳ hướng dẫn nào sẽ được đánh giá rất cao!
Có vẻ như điều này chỉ làm cho các yêu cầu get và không gửi yêu cầu bổ sung có thể: tạo, "api/v1/thích "để xem liệu nó có quan trọng hay không và nó không tạo nên sự khác biệt. – nvd90
Tìm ra cần có thể: truy cập,: thích ngay bên dưới nó để nó hoạt động. – nvd90
Có một lỗi với điều này, nhưng nó đã được [cố định trong 1.6.10] (https://github.com/ryanb/cancan/pull/675) –