我正在製作一個Elixir/Phoenix應用程序,用於在我的UserController
控制器中創建用戶。有一個/lib/helpers/user_helpers
目錄有許多模塊(每個都在一個單獨的文件中)。這些模塊都有一個通用名稱空間UserHelpers.ModuleName
。在這些模塊中的每一箇中,我都有一個名爲apply
的函數,我想將其應用於用戶數據。例如,如果我有以下文件結構:Elixir列出名稱空間中的所有模塊
-lib
-helpers
-user_helpers
-module1
-module2
-...
-moduleN-1
-moduleN
,其中每個的module1
和module2
包含一個函數apply(user_info)
返回user_info
。在我UserController
我有,我想運行下面的功能create(conn, params)
:
user_data
|> UserHelpers.Module1.create
|> UserHelpers.Module2.create
|> ...
|> UserHelpers.ModuleN-1.create
|> UserHelpers.ModuleN.create
但我不確定如何動態地加載所有的文件夾UserHelpers
模塊的上面做。有什麼建議麼?
這些模塊是否被編譯到您的應用程序中(即它們是否在'.ex'文件中,而不是'.exs')? – Dogbert
你想以什麼順序調用這些命令?模塊名稱是否以數字結尾? N> 9(在這種情況下'Enum.sort'不夠用)。 – Dogbert