2012-09-08 8 views
5

I que tiene un poco de preocupante conseguir cancán para autorizar mi nueva configuración de rutas a continuación:controladores de Autorización de espacios de nombres y anidadas utilizando CanCan

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

He seguido lo que fue publicada aquí https://github.com/ryanb/cancan/wiki/Nested-Resources y se prueba con el controlador gustos por poner esto sobre: ​​

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

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

Usando una lata: acceso,: todo en obras ability.rb pero cualquier otra cosa que he tratado de límite no tiene, por ejemplo:

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

No estoy muy seguro de si la culpa se debe a las rutas del espacio de nombres o no. Cualquier orientación sería muy apreciada!

Respuesta

5

encontrado la respuesta: Era el espacio de nombres, después de todo, sólo se necesita un

can :access, "api/v1/likes"

+0

parece que esto sólo funciona para las peticiones GET y no ingrese requerimientos de agregados puede: crear, "api/v1/le gusta "ver si importaba y no hizo la diferencia". – nvd90

+0

Me pareció que necesitaba una lata: acceso,: me gusta justo debajo de ella para que funcione. – nvd90

+1

Hubo un error con esto, pero ha sido [solucionado en 1.6.10] (https://github.com/ryanb/cancan/pull/675) –

Cuestiones relacionadas