radrails dev server启动错误:load_missing_constant

时间:2010-07-08 18:48:07

标签: ruby ruby-on-rails radrails

这是我在控制台中获得的堆栈跟踪:

 C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:443:in `load_missing_constant': uninitialized constant ActiveRecord (NameError)
    from C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80:in `const_missing'
    from C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:92:in `const_missing'
    from C:/Users/rrevi/Documents/Aptana Studio/developer_portal/config/environment.rb:42
    from C:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:111:in `run'
    from C:/Users/rrevi/Documents/Aptana Studio/developer_portal/config/environment.rb:9
    from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
    from C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
    from C:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84
    from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from ./script/server:3
    from -e:2:in `load'
    from -e:2

以前很好。我没有改变(我记得)。很奇怪。我在Windows Vista计算机上运行RadRails。

2 个答案:

答案 0 :(得分:0)

你正在运行相当过时的rails版本,它说你缺少ActiveRecord gem。

答案 1 :(得分:0)

如果您收到错误:

helloworld.rb:3:in `<main>': uninitialized constant ActiveRecord (NameError)

然后就意味着你还没有安装activerecord ruby​​ gem。您需要安装gem以便Aptana可以找到它,因此您需要了解以下过程:

  1. 列出可远程安装的宝石。
  2. 搜索可远程安装的宝石。
  3. 安装远程gem。
  4. 验证您的宝石已安装。
  5. 阅读所有内容:http://docs.rubygems.org/read/chapter/2

    要解决上述错误,请执行以下操作:

    打开命令提示符并在终端中运行以下命令:

    #Find out what gems are installed on your computer:
    gem query --local
    
    #Take a look at the ActiveRecord gem, see if it is available.
    gem query --remote --name-matches activerecord
    
    #Get more info about the gem on the remote server.
    gem specification --remote activerecord
    
    #Install your gem:
    gem install --remote activerecord
    
    #See if it installed successfully and is in the installed gem list:
    gem query --local  
    

    重新启动IDE。需要告诉Aptana使用你的activerecord gem:

    require 'active_record';
    

    以下是使用ActiveRecord gem查看Aptana是否可以找到您的activerecord gem的代码:

    #Ruby code
    require 'active_record'
    class Dog < ActiveRecord::Base
      has_many :dog_tags
    end
    puts "activerecord gem is installed";
    

    这不会产生错误并打印“activerecord gem is installed”;