Ruby on rails 在Rails的config或yml文件中配置一些变量

Ruby on rails 在Rails的config或yml文件中配置一些变量,ruby-on-rails,configuration,Ruby On Rails,Configuration,在我的项目中,我想在配置或yml文件中放置一些配置细节,比如键,一些唯一的代码,以便在处理时访问。以及如何在UI或JS文件中访问该变量 我无法在database.yml或任何配置文件中保存值 其中一个假设类似于放入application.yml中 config/application.yml defaults: &defaults email: test@example.com secret: example_test defaults: &defaults em

在我的项目中,我想在配置或yml文件中放置一些配置细节,比如键,一些唯一的代码,以便在处理时访问。以及如何在UI或JS文件中访问该变量

我无法在
database.yml
任何配置文件中保存值

其中一个假设类似于放入application.yml中

config/application.yml

defaults: &defaults
  email: test@example.com
  secret: example_test
defaults: &defaults
  email: example@example.com
  secret: secret

test:
  <<: *defaults
  secret: another_secret

development:
  <<: *defaults

production:
  <<: *defaults
  email: production@example.com
  secret: production_secret

有几种方法可以实现该功能

  • 您可以创建自己的配置文件并编写一个类来解析该文件(如果是.yml cofig,则使用Psych),然后访问该类的方法
  • 您还可以将配置存储在常用模型中,并将其保存在数据库中。例如,通过这种方式,您可以在管理面板中更改它们
  • 您可以使用gem将变量保存在
    ENV
  • rails配置的另一个gem。它似乎不具备第一点的功能

  • 您可以创建一个初始值设定项来加载YML文件,根据当前环境对其进行解析,并将结果保存在全局变量中

    例如:

    config/application.yml

    config/application.yml
    
    defaults: &defaults
      email: test@example.com
      secret: example_test
    
    defaults: &defaults
      email: example@example.com
      secret: secret
    
    test:
      <<: *defaults
      secret: another_secret
    
    development:
      <<: *defaults
    
    production:
      <<: *defaults
      email: production@example.com
      secret: production_secret
    

    如果您有一个大型配置,那么您应该创建一个单例类,让它初始化您的yml文件,并在中的属性中加载其键和值,然后使用该类访问所需的配置。

    查看gem。这对我来说总是很方便。非常感谢你。它帮助我将默认数据从外部移动到应用程序。yml:)