我正在编译phoenix应用程序,在我的一个模块上遇到错误。
def toggle_complete(conn, %{"id" => id} = _params, _current_user, _claims) do
with %Payout{} <- payout = Repo.get(Payout, id),
{_count, nil} <- Payouts.toggle_prize_claims(payout),
{:ok, payout} <- Payouts.toggle_complete(payout) do
conn |> render("payout_simple.json", payout: payout)
else
nil -> {:error, :payout_not_found}
error -> error
end
end
以下是错误
== Compilation error in file lib/pxf/web/controllers/mart/payout_controller.ex ==
** (CompileError) lib/pxf/web/controllers/mart/payout_controller.ex:145: undefined function payout/0 (expected Pxf.Web.Mart.PayoutController to define such a function or for it to be imported, but none are available)
我不知道为什么它会显示未定义的函数。我在这里的模式匹配中做错了什么吗?
1条答案
按热度按时间7nbnzgx91#
您应该在 your 作用域中分配
payout
。with/1
声明了它自己的作用域 * 并 * 将一个卫生机制应用于<-
的RHO。这意味着RHO中的赋值被简单地丢弃了。