nel*_*nic 8 elixir data-structures phoenix-framework
在本教程之后尝试使用Phoenix v1.3构建API :
https ://dreamconception.com/tech/phoenix-full-fledged-api-in-five-minutes
(确保按照每一步操作)
当我试图跑 mix ecto.setup
我收到以下错误:

Compiling 17 files (.ex)
== Compilation error on file lib/myapp/users/users.ex ==
** (CompileError) lib/myapp/users/users.ex:65: Myapp.Users.User.__struct__/0 is undefined, cannot expand struct Myapp.Users.User
(stdlib) lists.erl:1354: :lists.mapfoldl/3
lib/myapp/users/users.ex:65: (module)
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
(elixir) lib/kernel/parallel_compiler.ex:117: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
Run Code Online (Sandbox Code Playgroud)
这lib/myapp/users/users.ex是非常大的:https://github.com/nelsonic/phoenix-api-example/blob/master/lib/myapp/users/users.ex#L65
GitHub上的完整代码:https://github.com/nelsonic/phoenix-api-example
任何帮助调试它将非常感激.
所以我注意到了一些事情:
您已根据您的记录命名了您的上下文。您应该根据记录所属的想法来命名您的上下文。类似Authentication或Account
在 #1 的基础上,在具有Account上下文的 Phoenix 1.3 应用程序中,您可能拥有与该上下文关联的用户记录。在这种情况下,您将在 lib/myapp/account/users.ex 中定义 Myapp.Account.Users。这就是你的结构的来源。
我认为您最终到达这里的原因是上下文的名称与您的记录相同,这导致了一些混乱。在Users上下文的第 9 行,您使用了别名Myapp.Users.User,但该模块从未定义。