Rails中未初始化的常量(名称错误)

时间:2016-03-28 08:50:54

标签: ruby-on-rails ruby-on-rails-4 configuration environment-variables

我的新rails应用程序中的/ config / initializers中有mynewapp_environment.rb文件。

MyNewApp=AppConfig.new require './config/mynewapp/default.rb'

当我启动rails服务器时,我收到以下错误。

/home/dev/mynewapp/config/initializers/mynewapp_environment.rb:1:in `<top (required)>': uninitialized constant AppConfig (NameError)
    from /home/dev/.gem/ruby/2.2.0/gems/rails-dev-boost-0.3.0/lib/rails_development_boost/loadable_patch.rb:13:in `load'
    from /home/dev/.gem/ruby/2.2.0/gems/railties-4.2.6/lib/rails/engine.rb:652:in `block in load_config_initializer'
    from /home/dev/.gem/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/notifications.rb:166:in `instrument'

我的app_config.rb存在于/ lib文件夹中。

我确保应用名称在app文件夹中的每个文件中都是一致的。有关如何解决此问题的任何线索?

2 个答案:

答案 0 :(得分:1)

您的AppConfig定义在哪里?不应该是某些Application类名吗?

您可以尝试将这些代码放入RAILS_ROOT / config / preinitializer.rb的另一个地方,此文件在任何框架组件之前加载

答案 1 :(得分:1)

想出来! 我没有更新我的application.rb以自动加载/ lib目录。在config.autoload_paths += %W(#{config.root}/lib)中写application.rb修复了问题。