Rails没有在lib文件夹上找到文件

时间:2017-07-17 21:13:18

标签: ruby-on-rails ruby loading

每次控制器或模型尝试访问/ lib文件夹中的类时,都会显示:

  

NameError(未初始化的常量'current_controller':'class_name'的意思是'something_else')

是的,我知道rails命名约定,我正确使用它。我在其他几个服务器(Ubuntu和CentOS 6)中运行代码。它只在我们拥有的这两台RedHat7.2服务器上出错 - 在所有服务器上都是相同的ruby / rails / gems。我尝试使用的任何库文件都会出错。 SELinux被禁用。

Ruby版本2.3.3; Rails版本5.1.0(在所有服务器上都相同)

有人有什么想法吗? Rails假设自动加载那些类文件。

1 个答案:

答案 0 :(得分:3)

在轨道上< 5:

配置/ application.rb中

module your_app
  class Application < Rails::Application
    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration should go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded.
    config.autoload_paths += %W(#{config.root}/lib/path)
  end
end

on rails&gt; = 5

module your_app
  class Application < Rails::Application
    config.eager_load_paths << "#{Rails.root}/lib/path"
  end
end

如果您希望rails自动加载您的lib,您必须将它放在app文件夹下。