我正在通过凤凰网站上的指南工作,我在Ecto模型上的页面 - http://www.phoenixframework.org/docs/ecto-models - 但我收到一个错误,我不知道如何解决...
当我运行mix phoenix.gen.html User users name:string email:string bio:string number_of_pets:integer
* creating priv/repo/migrations/20150409213440_create_user.exs
时,所有文件都已正确创建:
* creating web/controllers/user_controller.ex
* creating web/templates/user/edit.html.eex
* creating web/templates/user/form.html.eex
* creating web/templates/user/index.html.eex
* creating web/templates/user/new.html.eex
* creating web/templates/user/show.html.eex
* creating web/views/user_view.ex
* creating test/controllers/user_controller_test.exs
* creating web/models/user.ex
* creating test/models/user_test.exs
* creating priv/repo/migrations/20161128174142_create_user.exs
但我的服务器控制台立即吐出错误:
Compiling 3 files (.ex)
== Compilation error on file web/views/user_view.ex ==
** (CompileError) web/views/user_view.ex:2: module TestApp_1.Web is not loaded and could not be found
(elixir) expanding macro: Kernel.use/2
web/views/user_view.ex:2: TestApp_1.UserView (module)
(elixir) lib/kernel/parallel_compiler.ex:117: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
并且mix ecto.migrate
失败,同样返回此错误(尽管将用户资源添加到路由中)。
这实际上是我第二次经历这个过程,而且我第一次这样做,一切正常。据我所知,这次我做的一切都完全相同(虽然我当然可能会弄错)。
我没有足够的经验与凤凰城解释此错误或知道如何解决问题。有人可以帮忙吗?
*更新*
事实证明问题来自于我的app模块名为TestApp1
,但凤凰城有一个错误,其中下划线插入带有尾随数字的名称中...所以它正在寻找TestApp_1
。我能够通过简单地浏览生成的文件并删除下划线来解决这个问题。有关该错误的详细说明,请参阅下面Dogbert的评论。
答案 0 :(得分:0)
事实证明问题来自于我的app模块名为TestApp1,但凤凰城有一个错误,当生成文件时,下划线插入带有尾随数字的名称...所以它正在寻找TestApp_1。我能够通过简单地浏览生成的文件并删除下划线来解决这个问题。有关该错误的详细说明,请参阅Dogbert的评论。