Ruby on rails NameError-运行dev server时未初始化常量

Ruby on rails NameError-运行dev server时未初始化常量,ruby-on-rails,ruby,sinatra,foreman,Ruby On Rails,Ruby,Sinatra,Foreman,在使用foreman或rails服务器运行Sinatra应用程序时,我不能使用我放在config/initializers/constants.rb下的常量 应用程序似乎没有看到他们向我扔这个: NameError - uninitialized constant UserJson::API_DATE_FORMAT: 我能强迫他们重新装填吗 编辑: 以下是失败的类: require 'active_record' class UserJson attr_accesso

在使用foreman或rails服务器运行Sinatra应用程序时,我不能使用我放在config/initializers/constants.rb下的常量

应用程序似乎没有看到他们向我扔这个:

 NameError - uninitialized constant UserJson::API_DATE_FORMAT:
我能强迫他们重新装填吗

编辑: 以下是失败的类:

require 'active_record'

    class UserJson

      attr_accessor :id, :active, :created_at, :updated_at, :name, :email

      def self.private_json(user)
        json = UserJson.new()
        json.id = user.id
        json.active = user.active
        json.email = user.email
        json.name = user.name
        json.updated_at = user.updated_at.strftime(API_DATE_FORMAT)
        json.created_at = user.created_at.strftime(API_DATE_FORMAT)
        json
      end

    end

它位于app/models/user.rb下。我在那里得到了更多的类,当试图读取API_DATE_格式文件中声明的一个常量时,每个类都失败了。当您更新/添加
config
目录下的任何内容时,您应该重新启动服务器,因为更改不会自动加载到此文件夹中

另一个原因可能是常数解决问题:

试一试

编辑 您可能需要模型中包含常量的文件:

 require_relative 'config/initializers/constants'
但是,由于您有多个使用这些常数的模型,我将尝试全局求解它

将require添加到主应用程序文件将确保您不必在每个模型中都需要该文件,但只需要一次:

# collector.rb (Sinatra input file)
require_relative 'config/initializers/constants'

你重新启动服务器了吗?每次更改后,我都会终止其进程并运行foreman start命令重新运行它。你在哪里使用delcare API_DATE_FORMAT?config/initializers/constants.rbI通过终止并使用foreman start命令重新启动服务器。请发布代码,您使用
API\u DATE\u格式
constantSorry表示迟交的答案,但事实并非如此help@JacekKwiecie为什么?错误是什么?问题仍然是实际的吗?仍然是一样的,问题在json.updated_at=user.updated_at.strftime(::API_DATE_格式)行
# collector.rb (Sinatra input file)
require_relative 'config/initializers/constants'