如何动态访问 config/applications.rb 中定义的所有以 'var' 开头的配置参数?

How can I dynamically access all config parameters starting with 'var' defined in config/applications.rb?

在我的config/applications.rb中,我设置了参数:

config.var1 = 1
config.var2 = 5
config.varx = 7

我可以使用

访问它们
Rails.application.config.var1

我正在尝试动态构建名称以 'var' 开头的所有配置参数的散列,因此输出将是

{var1: 1, var2: 5, varx: 7}

我查看了 Rails.application.config.methods、Rails.application.config.instance_variables、Rails.application.config.inspect 等,但他们没有 return var1 等

如何动态访问 config/applications.rb 中定义的所有以 'var' 开头的配置参数?

感谢您的帮助。

虽然我完全同意@SergioTulentsev 你做错了,但你仍然可以:

Rails::Railtie::Configuration.class_variable_get(:@@options)
                             .select { |k, _| k =~ /\Avar/ }
#⇒ {
#    :var1 => 42
# }

事实上,通过 method_missing.

提供对 class 变量的访问