【发布时间】:2018-03-04 12:43:37
【问题描述】:
所以在我的 phoenix 应用程序中我有这个警告:
警告:不推荐使用 Dict.merge/2,请使用 Map 模块进行工作 使用地图或关键字模块来处理关键字列表
测试/支持/test_helpers.ex:6
changes = Dict.merge(%{
name: "Some User",
username: "user#{Base.encode16(:crypto.strong_rand_bytes(8))}",
password: "supersecret",
}, attrs)
当我将其更改为 Map.merge 时,它会崩溃,因为 attrs 不是地图,它需要地图:
** (BadMapError) expected a map, got: [username: "max"] stacktrace: (stdlib) :maps.merge(%{name: "Some User", password: "supersecret", username: "user19DA79B623406098"}, [username: "max"])
还有其他方法可以让它工作吗?还是我必须将 attrs 投射到地图中?
【问题讨论】: