Rails模型失败

时间:2009-10-01 20:15:45

标签: ruby-on-rails

我有一个名为'rack'的数据模型。当我在Rails项目中生成具有此名称的模型时,启动服务器时会出错。

load_missing_constant: uninitialized constant ActiveRecord (NameError)

我没有使用Rack Middleware,我没有在Ruby或Rails中看到'rack'作为保留字。这里有什么我想念的吗?

3 个答案:

答案 0 :(得分:3)

好吧,如果您使用的是最新版本的Rails,那么实际上 使用的是Rack中间件,因为这就是目前实现的几个Rails组件的实际情况(实际上,Rails是一个整体)现在是一个Rack应用程序)。因此,已经存在名为Rack的常量,因此当您尝试创建名为Rack的ActiveRecord模型时,会发生冲突。我不确定为什么你会得到那个特定的错误 - 当我在一个玩具项目上尝试它时,我在尝试运行迁移时遇到了这个错误:

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

无论如何,我强烈怀疑这是你问题的根本原因。是否可以更改模型的名称?

答案 1 :(得分:0)

您是否更改了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

答案 2 :(得分:0)

您正在使用哪种版本的导轨?

截至2.3, rails runs on Rack