Rails 5 自定义初始值设定项不起作用

Zha*_*ang 3 ruby-on-rails ruby-on-rails-5

我有一个名为的文件frontend_configuration.rb,如下所示:

class FrontEndConfiguration
  class << self
    attr_accessor :base_url
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的development配置中,我有一行:

FrontEndConfiguration.base_url = "http://localhost:4200"
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的 rails 服务器时,它给了我一个错误说:

uninitialized constant FrontEndConfiguration (NameError)
Run Code Online (Sandbox Code Playgroud)

我在这里关注这个 Stackoverflow 答案:Rails 3 / Setting Custom Environment Variables

为什么 Rails 没有检测到我的自定义初始值设定项?

我正在使用 Rails 5 API only 模式。

Ton*_*ent 5

尝试这个。

# config/frontend.yml:
production:
  environment: production
  base_url: http://your_url
  .
  .
  .
development:
  environment: sandbox
  base_url: http://your_url
  .
  .
  .
Run Code Online (Sandbox Code Playgroud)
# config/application.rb
module MyApp
  class Application < Rails::Application
    config.frontend = config_for(:frontend)
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,

Rails.configuration.frontend['base_url'] 
# => production_base_url or development_base_url
Run Code Online (Sandbox Code Playgroud)