lib/
、具体的にはlib/my_namespace/test_module.exs
の中にモジュールを作成しました。 Phoenixプロジェクトのlib/folderに定義されているモジュールを使用するにはどうすればよいですか?
これ
はすべてのことが、その中に定義されています:フェニックスコントローラー内のこのモジュールのtest()
関数を呼び出す
defmodule MyNamespace.TestModule do
def test do
"This is a test"
end
end
エラーをレンダリングします。
** (UndefinedFunctionError) function MyNamespace.TestModule.test/0 is undefined (module MyNamespace.TestModule is not available)
MyNamespace.TestModule.test()
Elixir 1.2.0 Changelogによれば、エリクサーがlib/
ディレクトリ内のコードをリロードすることを意味することが私の理解ですので、私の仮定は、私は他に何もする必要はありするつもりではなかったということです。
私は明らかに間違っています。私自身の研究は有望な何かを生み出していません。私が集めた唯一のことは、私のモジュールが?loadpathに乗っていないことです。私は何を変更するのかわからないので、ロードパスにある。
誰かが手を貸して、私が読んでいるはずのドキュメントの方向を指すことができますか?
ありがとうございます。
ファイルの名前を '.exs'から' .ex'に変更してください。 – Dogbert
ありがとう@Dogbert。それはうまくいった。どんなドキュメンテーションでもこのコンベンションについてどこで読むことができるのか分かりますか?もしそうなら、あなたはそれを私と分かち合うことができますか?また、私はそれを正しいとマークすることができるように、回答を提出してください。再度、感謝します! – John
残念ながら、http://elixir-lang.org/getting-started/modules.html#scripted-modeより優れたものは見つかりませんでした( 'mix'は.exsファイルをコンパイルしません)。 – Dogbert