我使用結構在Phoenix/Elixir應用程序中創建自定義模型。像這樣:協議枚舉沒有爲struct實現。如何將結構轉換爲可枚舉?
defmodule MyApp.User do
defstruct username: nil, email: nil, password: nil, hashed_password: nil
end
new_user = %MyApp.User{email: "[email protected]", hashed_password: nil, password: "secret", username: "ole"}
爲了使用它與我的數據庫適配器,我需要的數據是可枚舉的。哪一個結構顯然不是。至少我收到這個錯誤:
(Protocol.UndefinedError) protocol Enumerable not implemented for %MyApp.User{ ...
所以我試着用理解力來運氣。這當然也不起作用,因爲結構是不可枚舉(愚蠢的我)
enumberable_user = for {key, val} <- new_user, into: %{}, do: {key, val}
我怎樣才能將數據轉換爲可枚舉的地圖?