我可以得到这个配置:
config :my_app, MyApp.Endpoint,
url: [host: "localhost"],
secret_key_base: "fdsfdsfd",
# ..............
这样
cfg = Application.get_env(:my_app, MyApp.Endpoint)
我如何获得此配置部分:
config :my_app,
a: 123,
b: 456
# ..............
因为没有这样的功能:
cfg = Application.get_env(:my_app) # no such function
答案 0 :(得分:2)
您可以使用Application.get_all_env/1
。随着
config :my_app,
a: 123,
b: 456
我得到的输出是:
iex(1)> Application.get_all_env(:my_app)
[b: 456, a: 123]
编辑:如果你想忽略密钥是Elixir模块名称的所有配置,你可以这样做:
Application.get_all_env(:my_app)
|> Enum.reject(fn {key, value} ->
is_atom(key) && Atom.to_string(key) |> String.starts_with?("Elixir.")
end)
|> IO.inspect