Elixir 如何使用ecto和guardian建立关联

Elixir 如何使用ecto和guardian建立关联,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,不知何故,我无法在《卫报》的《凤凰城/星外》中使用此功能: 会议控制器#创建 会合 如何插入与相关用户的会议?调用build\u assoc可正确设置user\u id,但调用changeset可再次删除关联。用户能够成功地进行身份验证。这里缺少什么?请看,changeset不直接包含相关属性,而是通过changeset.data 我们将从changeset.data中提取其他字段,包括用户id 因此,一旦插入,关联将被正确设置 见此,changeset不直接包含相关属性,而是通过changes

不知何故,我无法在《卫报》的《凤凰城/星外》中使用此功能:

会议控制器#创建 会合 如何插入与相关
用户的
会议
?调用
build\u assoc
可正确设置
user\u id
,但调用
changeset
可再次删除关联。用户能够成功地进行身份验证。这里缺少什么?

请看,
changeset
不直接包含相关属性,而是通过
changeset.data

我们将从changeset.data中提取其他字段,包括用户id

因此,一旦插入,关联将被正确设置

见此,
changeset
不直接包含相关属性,而是通过
changeset.data

我们将从changeset.data中提取其他字段,包括用户id

因此,一旦插入,关联将被正确设置

是否应该是
cast(params,[:title,:description,:user])
?是否应该是
cast(params,[:title,:description,:user])
changeset = case Guardian.Plug.authenticated?(conn) do
    true ->
        Guardian.Plug.current_resource(conn) # == existing user
        |> build_assoc(:meetings) # successfully builds a meeting with user_id
        |> Meeting.changeset_with_user(meeting_params) # removes user_id
     _ ->
        Meeting.changeset(%Meeting{}, meeting_params)
end
schema "meetings" do
    field :title, :string
    field :description, :string

    belongs_to :user, User
end

def changeset(model, params \\ %{}) do
    model
    |> cast(params, [:title], [:description])
end

def changeset_with_user(model, params \\ %{}) do
    model
    |> changeset(params)
    |> assoc_constraint(:user)
end