ruby 未初始化的常量ActiveRecord

k75qkfdt  于 2023-03-08  发布在  Ruby
关注(0)|答案(3)|浏览(183)
2.0.0-p247 :006 > load './app/models/user.rb'                                                                                                                                                     
NameError: uninitialized constant ActiveRecord                                                                                                                                                    
        from /home/action/iAuth/app/models/user.rb:1:in `<top (required)>'                                                                                                                        
        from (irb):6:in `load'                                                                                                                                                                    
        from (irb):6                                                                                                                                                                              
        from /home/action/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in `<main>'

下面是我的User Model

class User < ActiveRecord::Base
end

当我试图加载我的user.rb in my irb时,我得到了上面的错误。

pdsfdshx

pdsfdshx1#

启动irb会话
rails console
而不是:
irb
rails console将为您加载您的rails环境和模型,因此您可以执行以下操作:
User.allUser.new,但不加载class,因为rails console已经预加载了它

ghhaqwfi

ghhaqwfi2#

还有一个案子。
如果你正在使用mongoid(mongo数据库适配器),并且你必须确保在config/application.rb中,你必须要求activerecord:

require "active_model/railtie"
sf6xfgos

sf6xfgos3#

当我尝试在我制作的一个新的ruby gem中运行测试时,我得到了这个错误。
我将其添加到spec/spec_helper.rb的顶部

require "active_record/railtie"

问题就解决了。

但是一个更好的解决方法(我认为)是需要gemspec中的库:

# Uncomment to register a new dependency of your gem
  # spec.add_dependency "example-gem", "~> 1.0"
  spec.add_dependency "rails" # <----- Add this line

相关问题