 
     case insert_question_and_tags(changeset) do
       {:ok, question} ->
-        question = question
-        |> Repo.preload(:question_tags)
+        answer = Repo.all(from(qt in QuestionTag, where: qt.question_id == ^question.id))
+        question = Map.merge(question, %{answer: answer})
 
         conn
         |> put_status(:created)
         |> put_resp_header("location", question_path(conn, :show, question))
-        |> render("show.json", question: question)
+        |> render("show.json", %{question: question})
 
       {:error, changeset} ->
         conn

    end)
  end

  defp insert_tags({:error, changeset}, _), do: {:error, changeset}
  defp insert_tags({:ok, question}, %{changes: changes}) do
    tag_id_to_changeset = fn tag ->
      QuestionTag.changeset(Map.merge(tag, %{"question_id" => question.id}))
    end

    insert_changeset = fn


  def show(conn, _) do
    question = conn.assigns[:question]
    answer = Repo.all(from(qt in QuestionTag, where: qt.question_id == ^question.id))
    question = Map.merge(question, %{answer: answer})

    render(conn, "show.json", %{question: question})
  end

  def update(conn, question_params) do
