def create_trans(conn, _params) do
address = __MODULE__.get_add()
card = __MODULE__.get_card()
case Alpha.beta(card, [billing_address: address]) do
{:ok, result} -> render conn,"purchase.json",%{purchase: result}
{:error, reason} -> render conn,"purchase.json",%{purchase: reason}
end
end
上面的代码给出了以下错误,我错过了什么。
**(RuntimeError)期望动作/ 2返回一个Plug.Conn,所有插件必须接收连接(conn)并返回连接
答案 0 :(得分:0)
也许提供Alpha.beta/2
应返回的更多信息。通常,您的错误指向case
块中并非每个方案都包含。考虑使用最后一个方案_
,它将与其余方案匹配。
如果你将Alpha.beta/2
的结果分配给变量然后渲染结果而不是使用case
,你可以简单地使这段代码更具可读性和干燥性,如果你基本上两者都做同样的话这些情景。
{_, result} = Alpha.beta(card, [billing_address: address)
render(conn, "purchase.json", %{purchase: result}
但在这种情况下,您必须 100%确保此Alpha.beta/2
返回一个元组,该元组在上面的模式匹配中匹配,并且根据您的问题,它不太确定。