ошибка при использовании cancan в ruby: "неинициализированная константа CanCan :: Rule :: Mongoid" - PullRequest
1 голос
/ 25 декабря 2010

вот мой контроллер:

class AdminController < ApplicationController
  before_filter :require_user
  authorize_resource :class => false

  def index
  end

  def users_list
  end

end

вот мой класс способностей:

class Ability
  include CanCan::Ability

  def initialize(user)
    if user.admin?
      can :manage, :all
    else
      can :read, :all
    end
  end
end

при попытке доступа к "/ admin / users_list" (с правами администратора или без) я получаю следующую ошибку:

неинициализированная константа CanCan :: Rule :: Mongoid

есть мысли?

1 Ответ

1 голос
/ 26 декабря 2010

Совсем недавно в CanCan добавлена ​​поддержка Mongoid и , переименованная CanDefinition в Rule, поэтому полученная вами ошибка указывает на то, что вы используете последний код CanCan из gitСделки рЕПО.

Попробуйте CanCan версии 1.4 от rubygems и посмотрите, решит ли это проблему.Может быть необходимо исправить некоторые ошибки, прежде чем 1.5 будет выпущен в rubygems.

ОБНОВЛЕНИЕ:

Эта ошибка была исправлена ​​в CanCan версии 1.5.0.beta1.

...