Elixir 在Phoenix框架上放置帮助器模块的位置
我想添加一个助手模块来使用 但是当我将Elixir 在Phoenix框架上放置帮助器模块的位置,elixir,phoenix-framework,Elixir,Phoenix Framework,我想添加一个助手模块来使用 但是当我将defmodule放入 /lib/Shopper/CallApi.ex 和在中使用 /web.ex 结束 编译器因错误而失败 == Compilation error on file web/controllers/page_controller.ex == ** (UndefinedFunctionError) undefined function: Shopper.CallApi.__using__/1 Shopper.CallApi.__us
defmodule
放入
/lib/Shopper/CallApi.ex
和在中使用
/web.ex
结束
编译器因错误而失败
== Compilation error on file web/controllers/page_controller.ex ==
** (UndefinedFunctionError) undefined function: Shopper.CallApi.__using__/1
Shopper.CallApi.__using__([])
web/controllers/page_controller.ex:2: (module)
所以。。。在何处定义CallApi.ex以及在何处声明它?当您调用
使用Shopper.CallApi
时,将调用\u使用
宏-这是特定于元编程的。如果要在模块中使用Shopper.CallApi
中定义的函数,请改用alias Shopper.CallApi
alias
、require
和import
之间的差异记录在中,而using
则记录在中
另一方面,通常在elixir项目中,文件以snake_case-
call_api.ex
命名,而不是CallApi.ex
和。。我认为use
文档对于像我这样的初学者来说不够清晰,因为文件名已经是xxxx_api.ex的形式,但是我需要删除xxxx部分。糟糕的编辑:)
== Compilation error on file web/controllers/page_controller.ex ==
** (UndefinedFunctionError) undefined function: Shopper.CallApi.__using__/1
Shopper.CallApi.__using__([])
web/controllers/page_controller.ex:2: (module)