2

在我的项目中,我在 lib 文件夹下编写了几个类,但 rails 没有在生产环境中检测到这些类。我得到未初始化的常量错误。

我在生产环境中使用 Apache,在开发环境中使用 rails script/server。

RAILS_ROOT 环境有什么问题吗?谁能建议如何克服这个问题?

4

2 回答 2

1

我不确定 Rails,但您可以通过以下方式在 Ruby 中实现这一点:(它也可以在 Rails 中工作,但 Rails 必须有一些优雅的方式)

require File.join(File.dirname(__FILE__), "lib",'your_module_name')
include your_module_name

试试这个config/application.rb(我假设你有 rails3)

config.load_paths += %W( #{config.root}/lib )

更新:Rails -为什么 RAILS_ROOT/lib 中的模型在生产模式下不可用?

于 2010-11-10T09:16:45.387 回答
0

确保文件的名称与其中定义的类或模块的名称匹配,包括所有目录。

IE:

lib/my_new_class.rb

class MyNewClass
end

或者,如果您有目录层次结构:

lib/my_files/my_module.rb

module MyFiles
  module MyModule
  end
end
于 2010-11-10T13:06:21.947 回答