Проблема InheritedResources/CanCan

CanCan ведет себя очень странно с действием index в контроллере при использовании InheritedResouces. Если бы у меня был

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

person tipugin    schedule 25.01.2012    source источник
comment
какую версию InheritedResources вы используете?   -  person Nicolas Garnil    schedule 25.01.2012
comment
посмотрите на этот github.com/railsbp/rails_best_practices/issues/66   -  person Nicolas Garnil    schedule 25.01.2012


Ответы (1)


Я не совсем уверен, но попробуйте:

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

Некоторое время назад была ошибка с :except. https://github.com/railsbp/rails_best_practices/issues/66.

Попробуйте обновить гем InheritedResources.

person Nicolas Garnil    schedule 25.01.2012