Rails модель терпит неудачу - PullRequest
0 голосов
/ 02 октября 2009

У меня есть модель данных с именем 'rack'. Когда я генерирую модель с этим именем в своем проекте Rails, я получаю ошибки при запуске сервера.

load_missing_constant: uninitialized constant ActiveRecord (NameError)

Я не использую Rack Middleware и не вижу 'rack' как зарезервированное слово в Ruby или Rails. Я что-то упускаю здесь?

Ответы [ 3 ]

3 голосов
/ 02 октября 2009

Что ж, если вы используете последнюю версию Rails, вы на самом деле используете промежуточное ПО Rack, поскольку именно так в настоящее время реализовано несколько компонентов Rails (Rails в целом является Стойка приложения сейчас). Таким образом, константа с именем Rack уже существует, поэтому при попытке создать модель ActiveRecord с именем Rack возникает коллизия. Я не уверен, почему вы получаете эту конкретную ошибку, хотя - когда я попробовал ее в игрушечном проекте, я получил эту ошибку, пытаясь запустить миграцию:

jhyland@john-hylands-macbook: ~/tmp/foo $ rake db:migrate
(in /Users/jhyland/tmp/foo)
rake aborted!
Rack is not a module

Несмотря на это, я сильно подозреваю, что это является основной причиной вашей проблемы. Можно ли изменить название вашей модели?

0 голосов
/ 02 октября 2009

Какую версию рельсов вы используете?

По состоянию на 2.3, рельсы на стойке

0 голосов
/ 02 октября 2009

Вы изменили config/environment.rb файл для удаления ActiveRecord?

Rails::Initializer.run do |config|
  #...

  # Skip frameworks you're not going to use. To use Rails without a database,
  # you must remove the Active Record framework.
  config.frameworks -= [ :active_record ]

  #...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...