diff --git a/lib/outlook_web/live/article_live/form_component.ex b/lib/outlook_web/live/article_live/form_component.ex index 1b52371..d49b04e 100644 --- a/lib/outlook_web/live/article_live/form_component.ex +++ b/lib/outlook_web/live/article_live/form_component.ex @@ -55,11 +55,15 @@ defmodule OutlookWeb.ArticleLive.FormComponent do end def handle_event("save", %{"article" => article_params}, socket) do - article_params = article_params - |> Map.put("content", socket.assigns.internal_tree) - save_article(socket, socket.assigns.action, article_params) + save_article(socket, socket.assigns.action, article_params |> put_internal_tree(socket.assigns)) end + defp put_internal_tree(article_params, %{internal_tree: internal_tree} = _) do + article_params + |> Map.put("content", internal_tree) + end + defp put_internal_tree(article_params, _), do: article_params + defp save_article(socket, :edit, article_params) do case Articles.update_article(socket.assigns.article, article_params) do {:ok, _article} ->