如何在运行时访问Rails配置值?

Chr*_*ton 59 ruby-on-rails

我正在使用Rails 2.3.x. 我想要一小段代码运行,当且仅当它config.cache_classes是真的.默认情况下,这对于生产是正确的,对于开发来说是错误的.

如何从environment.rb,development.rb和production.rb文件外部访问config.cache_classes的值?很容易判断我们是否处于生产或开发阶段,Rails.env会给我们答案.但是不能保证开发人员没有config.cache_classes = true开发.

我当然明白,您通常不希望在开发和生产中运行单独的代码路径.在这个特定的例子中,我们根本就没有在启动时执行某些工作; 如果我们以后需要执行它,我们将在开发和生产中这样做.

mol*_*olf 101

对于Rails 2,您可以:

Rails.configuration.cache_classes
Run Code Online (Sandbox Code Playgroud)

如果你换过Rails 3,它会有所不同; 您可以使用以下方法访问相同的值:

Rails.application.config.cache_classes
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,它是`MyApp :: Application.config.foo`(Rails 4.1). (8认同)