[英]`const_missing': uninitialized constant (NameError) - Require
[英]`const_missing': uninitialized constant (NameError)
每次我尝试使用“script/runner -e production ClassName.run”从我的 rails 2.2 应用程序的 lib 目录中运行任何 class 时,都会出现以下错误:
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/runner.rb:47:
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:89:in `const_missing': uninitialized constant ClassName (NameError)"
出于某种原因,当我将其作为test
而不是production
运行时,我没有收到此错误,并且一切正常。
哦,是的run
是一种 class 方法,即def self.run.... end
有什么建议么?
当 ruby 找不到 Class 或模块时,会发生该错误。 我会开始:
希望有帮助。
更新只是为了总结意见,它是选项 4。
除非您只想在生产中加载 lib,否则您应该考虑通过执行以下操作之一来确保所有环境都加载 lib:
我在同一个文件中有多个 class 定义(所有 STI 类)。 当我将定义分成各自的文件时,它可以工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.