I found the solution for the question,
your response is about something else though I asked a qeustion about dynamic field inputs but I am not using live view
To create a delete button you can mark it for deletion like in docs and if the (id) field is present it gets deleted
defmodule Comment do
use Ecto.Schema
import Ecto.Changeset
schema "comments" do
field :body, :string
field :delete, :boolean, virtual: true
end
def changeset(comment, params) do
cast(comment, params, [:body, :delete])
|> maybe_mark_for_deletion
end
defp maybe_mark_for_deletion(changeset) do
if get_change(changeset, :delete) do
%{changeset | action: :delete}
else
changeset
end
end
end