Ошибка запуска сервера разработки Radrails: load_missing_constant - PullRequest
1 голос
/ 08 июля 2010

Вот трассировка стека, которую я получаю в консоли:

 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

Раньше все было в порядке.Я не сделал изменения env (что я помню).Очень странно.Я использую RadRails на компьютере с Windows Vista.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2012

Если вы получили ошибку:

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

Тогда это означает, что вы не установили activerecord ruby ​​gem. Вам нужно установить драгоценный камень, чтобы Aptana мог его найти, поэтому вам нужно узнать о следующих процедурах:

  1. Список удаленно устанавливаемых драгоценных камней.
  2. Поиск удаленно устанавливаемых драгоценных камней.
  3. Установка удаленного гема.
  4. Проверка того, что ваш драгоценный камень установлен.

Читать все это: 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. Аптане нужно сказать использовать ваш камень activerecord:

require 'active_record';

Вот некоторый код, который использует гем ActiveRecord, чтобы узнать, сможет ли Aptana найти ваш камень activerecord:

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

Это не выдает ошибку и выводит "гем activerecord установлен";

0 голосов
/ 08 июля 2010

Вы используете довольно устаревшую версию рельсов, и это говорит о том, что вам не хватает ActiveRecord драгоценного камня.

...