混合phx.gen.html生成器立即导致编译错误?

时间:2017-09-12 12:46:23

标签: elixir phoenix-framework ecto

我在大约一年内第一次制作了一个新的凤凰应用程序,并尝试处理有关上下文等方面的所有变化。

我的第一项业务是创建一个数据库表,我可以在其中跟踪电子邮件注册,因此我将此命令放入:

mix phx.gen.html Signups Email emails email:string name:string data:text

然后我将新路由放在router.ex中。但即使在我迁移之前,我也会收到错误:

== Compilation error in file lib/appname/views/email_view.ex ==
** (CompileError) lib/appname/views/email_view.ex:2: module AppnameWeb is not loaded and could not be found
    (elixir) expanding macro: Kernel.use/2
    lib/appname/views/email_view.ex:2: AppnameWeb.EmailView (module)
    (elixir) lib/kernel/parallel_compiler.ex:121: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

我的应用程序中有Appname.Web个其他位置,但是生成器创建了一个名为AppnameWeb的新模块,它似乎无法加载到任何地方?

如果我在我的项目中找到并替换Appname.Web到AppnameWeb,它可以让我迁移,但仍然无法加载新的电子邮件索引页。

Request: GET /emails
** (exit) an exception was raised:
    ** (UndefinedFunctionError) function Appname.EmailController.init/1 is undefined (module Appname.EmailController is not available)
        Appname.EmailController.init(:index)
        (appname) web/router.ex:1: anonymous fn/1 in Appname.Router.__match_route__/4
        (phoenix) lib/phoenix/router.ex:278: Phoenix.Router.__call__/1
        (appname) lib/appname/endpoint.ex:1: Appname.Endpoint.plug_builder_call/2
        (appname) lib/plug/debugger.ex:99: Appname.Endpoint."call (overridable 3)"/2
        (appname) lib/appname/endpoint.ex:1: Appname.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) /Users/user/Dev/appname/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4

我应该同时拥有Appname.Web和AppnameWeb吗?我不确定应该再去哪里了,而且发电机产生破损代码的事实并没有帮助......

0 个答案:

没有答案