diff --git a/lib/live_admin/components.ex b/lib/live_admin/components.ex
index b0d16f7..b20db96 100644
--- a/lib/live_admin/components.ex
+++ b/lib/live_admin/components.ex
@@ -88,7 +88,7 @@ defmodule LiveAdmin.Components do
{@field |> humanize() |> trans()}
<%= if @value do %>
- <.inputs_for :let={embed_form} field={@form[@field]} skip_hidden={true}>
+ <.inputs_for :let={embed_form} field={@form[@field]}>
<%= if sortable?(@value) do %>
{trans("Move here")}
<% end %>
diff --git a/test/live_admin/components/container_test.exs b/test/live_admin/components/container_test.exs
index dd0acb2..d723193 100644
--- a/test/live_admin/components/container_test.exs
+++ b/test/live_admin/components/container_test.exs
@@ -262,6 +262,28 @@ defmodule LiveAdmin.Components.ContainerTest do
end
end
+ describe "edit resource after adding singular embed with only array fields" do
+ setup %{conn: conn} do
+ user = Repo.insert!(%User{})
+
+ {:ok, view, _} = live(conn, "/user/edit/#{user.id}")
+
+ view
+ |> element("form")
+ |> render_change(%{"params" => %{"private_data_sort" => "0"}})
+
+ view
+ |> element("form")
+ |> render_change(%{"params" => %{"name" => "test"}})
+
+ %{view: view}
+ end
+
+ test "keeps embed form field", %{view: view} do
+ assert has_element?(view, "#params_private_data_0_aliases_array_input")
+ end
+ end
+
describe "edit resource with plural embed with multiple entries" do
setup %{conn: conn} do
post = Repo.insert!(%Post{title: "test", previous_versions: [%Version{}, %Version{}]})
diff --git a/test/support/resources.ex b/test/support/resources.ex
index 2d90dde..d68f459 100644
--- a/test/support/resources.ex
+++ b/test/support/resources.ex
@@ -37,6 +37,7 @@ defmodule LiveAdminTest.User do
field(:encrypted_password, :string)
embeds_one(:settings, LiveAdminTest.Settings)
+ embeds_one(:private_data, LiveAdminTest.PrivateData)
end
def user_task(_, _), do: {:ok, "worked"}
@@ -96,6 +97,15 @@ defmodule LiveAdminTest.Settings do
end
end
+defmodule LiveAdminTest.PrivateData do
+ use Ecto.Schema
+
+ @primary_key false
+ embedded_schema do
+ field(:aliases, {:array, :string})
+ end
+end
+
defmodule LiveAdminTest.Post.Version do
use Ecto.Schema