在Phoenix / Elixir中向结构添加字段

时间:2017-02-01 13:44:03

标签: elixir phoenix-framework

我想将一个字段或键添加到我从一个动作返回的结构中:

def show(conn, _) do
   my_struct = Repo.get(MyStruc, 123)
   render(conn, my_item: Map.put(my_struct, :aaa, "fdsfdsfds"))
end

我只在“show”中需要该字段。 错误:

key :aaa not found in: MyStruc {__meta__: ..........

我可以将它作为单独的值返回,但我希望将其返回到MyStruct中。

1 个答案:

答案 0 :(得分:1)

defmodule MyStruct do
  use Ecto.Schema
  schema "my_struct" do
    ... all your fiels
    field :aaa, :string, virtual: true
  end
end

然后在你的代码中

def show(conn, _) do
  my_struct = Repo.get(MyStruc, 123)
  render(conn, my_item: %MyStruct{my_struct | aaa: "fdsfdsfds"})
end