我正在使用一个库,该库使用已经存在的键(毒药)将输入解析为地图。无论出于何种原因,在生产中,它认为密钥不存在,我不知道为什么。我确实有一些信息,我希望不是菜鸟的人愿意帮助我弄清楚发生了什么:
1:
如果我进行 IEX 会话(iex -S mix),我可以毫无问题地运行 :erlang.binary_to_existing_atom("first_name", :"utf8") 。但是在生产中,我得到了
** (ArgumentError) argument error
:erlang.binary_to_existing_atom("first_name", :utf8)
2:
我可以在生产:first_name
之前立即运行:erlang.binary_to_existing_atom
,它工作正常,因为那时原子已经创建。但是,我不能:first_name
跟着库的方法运行:Poison.Parser.parse!(~s(#{body}), keys: :atoms!)
因为它抛出了错误,我觉得这很奇怪。
3:
我正在使用 Heroku,不确定这是否重要。原子是在 Ecto 模型中定义的,也不确定这是否重要。任何帮助将不胜感激 - 在此先感谢!