2017-06-06 24 views
8

試圖建立使用菲尼克斯V1.3以下這個教程的API:
https://dreamconception.com/tech/phoenix-full-fledged-api-in-five-minutes
作出一定要按照每一個步驟,以信菲尼克斯1.3(藥劑)錯誤:Myapp.Users.User .__結構__/0未定義,不能展開結構Myapp.Users.User

當我嘗試運行mix ecto.setup

我得到以下錯誤: error

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 

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

任何調試它幫助將是讚賞。

+1

您似乎沒有'MyApp.Users.User'模塊。 –

+2

不得低於'網/這些文件'是'LIB /'在鳳凰城1.3?我可以看到在'網絡/模型/相干/ user.ex''defmodule Myapp.Users.User'。 – Dogbert

+0

@Dogbert以及斑點,我想'Coherence'是_assuming_這是一個V1.2應用程序... – nelsonic

回答

3

所以有一些我注意到幾件事情:

  1. 你的記錄後,您已經命名您的上下文。您應該在記錄是其中一部分的想法之後爲您的上下文命名。像AuthenticationAccount

  2. 大廈關閉的#1,在鳳凰城1.3的應用程序,你有一個Account情況下,你可能會與該上下文相關聯的用戶記錄。在這種情況下,你必須在LIB/MYAPP /帳號/ users.ex定義Myapp.Account.Users。這是你的結構來自哪裏。

  3. 我覺得你怎麼在這裏結束了,是上下文被命名爲與您的記錄,這是造成一些混亂。在您Users背景下的第9行你走樣Myapp.Users.User但從來沒有定義的模塊。