0
機能をスキーマに追加するには?モデルスキーマにフィールドを動的に追加するための関数を作成したいと思います。例:あなたは、このモジュールの身体からそれを呼び出すようにしたいので、Phoenix、モデルスキーマ
def func do
# .. loop to create dynamic fields
field :street, :string
end
schema "objects" do
func
end
... Error:
** (CompileError) web/models/objects.ex:12: undefined function func/0
私はFUNCをDEFMACROするためのパラメータを渡すことができますか..? –
はい、機能パラメータとまったく同じではありません。引用符/引用符を使用する必要があります。 http://elixir-lang.org/getting-started/meta/macros.htmlを参照してください。 – Dogbert
_Sidenote:_ 'defmacro'は関数ではなく、[マクロ自体](https://github.com/elixir-lang/elixir/blob/edd38eee485789f88836866094f852a8f5e2ebfb/lib/elixir/lib/kernel.ex#L3462)です。 – mudasobwa