2010-11-24 4 views
2

Je cours RVM (Ruby 1.8.7-tête, Rails 2.3.8) et avoir les bases d'une nouvelle application en cours d'exécution. Authlogic fonctionne, avec le code minimal pour que ça fonctionne. Je cherche à utiliser ACL9 (que je travaille sur un autre projet, même RVM gemset)ACL9 et Rails 2.3.8 - NameError: constante non initialisée User :: Rôle

class User < ActiveRecord::Base 
    # authentication 
    acts_as_authentic 

    # authorization 
    acts_as_authorization_subject 

    def full_name 
    "#{self.first_name} #{self.last_name}" 
    end 
end 

Lorsque je tente seulement de lancer une simple vérification pour vous assurer que ACL9 fonctionne correctement ...

script/console

u = User.first

u.has_role?(:anyrole)

Je reçois cette erreur ...

ruby-1.8.7-head > u.has_role?(:anyrole) 
NameError: uninitialized constant User::Role 
    from /Users/development/.rvm/gems/[email protected]/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in `const_missing' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/base.rb:1:in `compute_type' 
    from /Users/development/.rvm/gems/[email protected]/gems/activesupport-2.3.8/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/base.rb:2230:in `compute_type' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/reflection.rb:156:in `send' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/reflection.rb:156:in `klass' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/reflection.rb:187:in `quoted_table_name' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/associations/has_and_belongs_to_many_association.rb:102:in `construct_sql' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/associations/association_collection.rb:21:in `initialize' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/associations/has_and_belongs_to_many_association.rb:5:in `initialize' 
    from /Users/development/.rvm/gems/[email protected]238/gems/activerecord-2.3.8/lib/active_record/associations.rb:1306:in `new' 
    from /Users/development/.rvm/gems/[email protected]/gems/activerecord-2.3.8/lib/active_record/associations.rb:1306:in `role_objects' 
    from /Users/development/.rvm/gems/[email protected]/gems/acl9-0.12.0/lib/acl9/model_extensions/for_subject.rb:39:in `has_role?' 
    from (irb):2 

Je ne sais pas pourquoi cela fonctionne avec tous les autres app je, mais pas celui-ci - et je ne suis pas sûr de ce que le message d'erreur dit. Toute aide est appréciée.

Répondre

2
class Role < ActiveRecord::Base 
    acts_as_authorization_role 
    end 
Questions connexes