相关疑难解决方法(0)

Elixir:__ using __ / 1是未定义的或私有的

我正在使用Elixir + Phoenix 1.3并定义了Accounts上下文。我想将accounts.ex文件用作其他模块中要求的索引,以防止它变得太大,但我无法从我创建的其他模块中导入功能。

我的文件结构如下:

lib
|- Project
  |- Accounts
    |- accounts.ex
    |- user_api.ex
Run Code Online (Sandbox Code Playgroud)

这是我的accounts.ex文件的外观:

# accounts.ex

defmodule Project.Accounts do
  @moduledoc """
  The Accounts context.
  """
  import Ev2Web
  import Ecto.Query, warn: false
  alias Project.{Accounts}

  use Accounts.UserAPI


end
Run Code Online (Sandbox Code Playgroud)

这是我要导入的模块:

# user_api.ex

defmodule Project.Accounts.UserAPI do

  alias Project.{Repo}
  alias Project.{Accounts.User}

  def list_users do
    Repo.all(User)
  end
end
Run Code Online (Sandbox Code Playgroud)

我希望能够导入我的Project.Accounts.UserAPI模块,以便可以Project.Accounts.list_users()在我的控制器中进行引用,但是未导入这些模块。我得到了错误function Project.Accounts.UserAPI.__using__/1 is undefined or private

我的控制器如下所示:

defmodule ProjectWeb.UserController do
  use ProjectWeb, :controller

  alias Project.Accounts …
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework

6
推荐指数
1
解决办法
1773
查看次数

标签 统计

elixir ×1

phoenix-framework ×1