How to get user_id in the 'belongs_to' table

Today we discussed in forum about user_id in changesets. This is a better approach than allowing cast :user_id in changeset
you can look post about user_id

So for your case

def create(conn, %{"angebot" => angebot_params}) do
      current_user = conn.assigns.current_user
     

    case Projects.create_angebot(angebot_params, current_user) do
      {:ok, angebot} ->
        conn
        |> put_flash(:info, "Angebot created successfully.")
        |> redirect(to: edit_angebot_path(conn, :show, angebot))
      {:error, %Ecto.Changeset{} = changeset} ->
        render(conn, "new.html", changeset: changeset)
     end
    ....
    end

    #lip/projects/projects.ex

    def create_angebot(attrs, %User{id: user_id}) do
      %Angebot{user_id: user_id}
      |> Angebot.changeset(attrs)
      |> Repo.insert()
    end

#lip/projects/angebot.ex
#and delete cast :user_id in changeset function
|> cast(attrs, [:title, :subtitle, :content, :online, :since, :zip, :city, :country])
2 Likes