【问题标题】:function Credential.changeset/2 is undefined (module Credential is not available)函数 Credential.changeset/2 未定义(模块 Credential 不可用)
【发布时间】:2017-08-01 18:59:26
【问题描述】:

我尝试按照Writing Web-facing 教程进行操作,但是当我将电子邮件添加为凭据时,我得到了这个:

function Credential.changeset/2 is undefined (module Credential is not available)

【问题讨论】:

  • 您是否忘记在该模块中添加alias?您可能需要将 alias Hello.Accounts.Credential 添加到引发此错误的模块中,以便 Elixir 知道 Credential 实际上是 Hello.Accounts.Credential
  • 谢谢,我在模块顶部添加了凭据的别名...就在用户别名之后。

标签: elixir phoenix-framework


【解决方案1】:

该教程定义了一个名为 Hello.Accounts.Credential 的模块,并且为您引发错误的代码行使用名称 Credential 并表示该模块不可用。您(或教程)很可能忘记在为您引发此错误的模块中添加 alias 调用。将以下内容添加到该模块应该可以解决此问题:

alias Hello.Accounts.Credential

【讨论】:

  • 按照相同的教程,我得到了 [info] alter table students (Postgrex.Error) ERROR 42P01 (undefined_table): relation "staff" does not exist ,即使我将 flush() 标签放在迁移文件中。
【解决方案2】:

你需要添加

alias Hello.Accounts.Credential

Hello.Accounts.User 模块 (lib/hello/accounts/user.ex)。

按照本教程很容易错过这一步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 2017-04-14
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    相关资源
    最近更新 更多