在rails中未检测到lib文件夹下的类

时间:2010-11-10 09:15:34

标签: ruby-on-rails ruby production-environment ruby-on-rails-2

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

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

RAILS_ROOT环境有什么问题吗?任何人都可以建议如何克服这个问题吗?

2 个答案:

答案 0 :(得分: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 - why would a model inside RAILS_ROOT/lib not be available in production mode?

答案 1 :(得分:0)

确保文件名与其中定义的类或模块的名称相匹配,并考虑任何目录。

即:

lib/my_new_class.rb

class MyNewClass
end

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

lib/my_files/my_module.rb

module MyFiles
  module MyModule
  end
end