2010-11-24 82 views
2

我正在運行RVM(Ruby 1.8.7-head,Rails 2.3.8),並且運行新應用程序的BASICS。我有Authlogic工作,用最少的代碼來完成這項工作。我試圖用ACL9(我已經在不同的項目上工作,同樣RVM寶石)ACL9和Rails 2.3.8 - NameError:未初始化的常量User :: Role

class User < ActiveRecord::Base 
    # authentication 
    acts_as_authentic 

    # authorization 
    acts_as_authorization_subject 

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

當我嘗試只運行一個簡單的檢查,以確保ACL9正常工作......

script/console

u = User.first

u.has_role?(:anyrole)

我得到這個錯誤...

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]/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 

我不知道爲什麼這個工程與所有其他應用程序我有,但不是這一個 - 我不知道什麼是錯誤消息說。任何幫助表示讚賞。

回答

2
class Role < ActiveRecord::Base 
    acts_as_authorization_role 
    end 
相關問題