【发布时间】:2019-02-25 18:38:40
【问题描述】:
我目前有一个如下所示的 params 实例:
params: %{
"continent" => %{
"deleted_date" => nil,
"name" => "Asia",
"to_be_deleted" => true
},
"id" => "16"
},
我正在尝试对 to_be_deleted 键进行模式匹配,这样如果它为真,则会运行不同版本的 update/2,同时还将 continents 的内容分配给 continent_params
我现在的update/2:
def update(conn, %{"id" => id, "continent" => continent_params}) do
# stuff
end
我尝试模式匹配不同的版本:
def update(conn, %{"id" => id, %{"to_be_deleted" = true} => continent_params}) do
#stuff
end
但是,这会产生关于 } 的语法警告,我无法清除。我不确定我是否要在函数头中做太多事情,或者我是否应该使用不同的语法来访问“地图中的地图”。
【问题讨论】: