0

ルートの会社の下にコードがネストされています。

resources :companys, except: [:destroy] do resources :codes, except: [:destroy] end

能力:

can :read, Company do |c|
   user.has_role? :operator, c
end

can :read, Code do |c|
  user.has_role? :operator, code.company
 end

My CodesController がチェックする

before_filter :set_code, only: [:show, :edit, :update, :activate, :deactivate]
  load_and_authorize_resource :except => :create #TODO fix as cancan updates
     def index
       if params[:company_id]
       ...

ユーザーがアクセスできない /companys/1/codes にアクセスすると、結果が表示されません。ただし、/companys/1 を直接表示しようとすると、CanCan AccessDenied が表示されます。

これがネストされたインデックスに表示されないのはなぜですか?

4

1 に答える 1