** (UndefinedFunctionError) 函数 Guardian.Plug.authenticated?/1 未定义或私有
** (UndefinedFunctionError) function Guardian.Plug.authenticated?/1 is undefined or private
我是 Elixir
和 Phoenix
的新手,我正在尝试使用 {:comeonin, "~> 4.0"}
和 {:guardian, "~> 1.0"}
来验证我的应用程序,并有一个辅助函数来检查用户已登录:
defmodule Chatter.ViewHelper do
def current_user(conn), do: Guardian.Plug.current_resource(conn)
def logged_in?(conn) do
Guardian.Plug.authenticated?(conn)
end
end
但是我得到这个错误:
** (UndefinedFunctionError) function Guardian.Plug.authenticated?/1 is undefined or private.
错误表明您正在尝试不带参数调用函数:
(UndefinedFunctionError) function Guardian.Plug.authenticated?/0
/0
这里表示没有参数。
自升级到 v1.0
以来,Guardian 文档没有正确引用一些 API 调用。您需要从自定义 MyApp.Guardian
实现中调用这些函数,而不是从实际的 Guardian
模块中调用。
假设您followed the guide要实施MyApp.Guardian
,您需要调用:
MyApp.Guardian.Plug.authenticated?(conn)
我是 Elixir
和 Phoenix
的新手,我正在尝试使用 {:comeonin, "~> 4.0"}
和 {:guardian, "~> 1.0"}
来验证我的应用程序,并有一个辅助函数来检查用户已登录:
defmodule Chatter.ViewHelper do
def current_user(conn), do: Guardian.Plug.current_resource(conn)
def logged_in?(conn) do
Guardian.Plug.authenticated?(conn)
end
end
但是我得到这个错误:
** (UndefinedFunctionError) function Guardian.Plug.authenticated?/1 is undefined or private.
错误表明您正在尝试不带参数调用函数:
(UndefinedFunctionError) function Guardian.Plug.authenticated?/0
/0
这里表示没有参数。
自升级到 v1.0
以来,Guardian 文档没有正确引用一些 API 调用。您需要从自定义 MyApp.Guardian
实现中调用这些函数,而不是从实际的 Guardian
模块中调用。
假设您followed the guide要实施MyApp.Guardian
,您需要调用:
MyApp.Guardian.Plug.authenticated?(conn)