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



在我的配置/应用程序。rb,我已经设置了参数:

config.var1 = 1
config.var2 = 5
config.varx = 7
我可以使用 访问它们
Rails.application.config.var1

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

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

我已经查看了Rails.application.config。方法,Rails.application.config。instance_variables, Rails.application.config.inspect等,它们不返回var1等

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

谢谢你的帮助。

虽然我完全同意@SergioTulentsev说的你做错了,但你仍然可以自由地:

Rails::Railtie::Configuration.class_variable_get(:@@options)
                             .select { |k, _| k =~ /Avar/ }
#⇒ {
#    :var1 => 42
# }
事实上,对这个类变量的访问是通过method_missing提供的。

最新更新