【问题标题】:Uninitialized constant (Name Error) in RailsRails 中未初始化的常量(名称错误)
【发布时间】:2016-07-15 12:19:05
【问题描述】:

我的新 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 文件夹中。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 该文件存在于 /lib 文件夹中。
    【解决方案2】:

    想通了! 我没有更新我的 application.rb 来自动加载 /lib 目录。在application.rb 中写入config.autoload_paths += %W(#{config.root}/lib) 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多