1

使用 InheritedResouces 时,CanCan 对控制器中的索引操作的行为非常奇怪。如果我有

can :read, Question do |question|
  false
end

ability.rb中- 尽管有块的返回值,它仍授予对操作的访问权限。如果我删除此行 - “您无权访问此页面。”。控制器代码如下:

# encoding: utf-8
class QuestionsController < InheritedResources::Base
  actions :all, :except => [:edit, :update]

  before_filter :authenticate_user!,  :except => [:show]
  load_and_authorize_resource         :except => [:show]
end
4

1 回答 1

0

我不太确定,但请尝试:

class QuestionsController < InheritedResources::Base
  actions :index, :new, :create, :destroy, :show
  ...

前段时间有一个错误:除了。https://github.com/railsbp/rails_best_practices/issues/66

尝试更新 InheritedResources gem。

于 2012-01-25T19:08:23.530 回答