I also tried to add a form for each element from the list like this:
<div :if={assigns[:"form_#{rv.id}"} class="mt-8 ml-12">
<.simple_form for={assigns[:"form_#{rv.id}"]} id="reply_review_form" phx-submit="submit_reply" class="mb-6">
<:actions>
<.input type="hidden" id="review_id" field={assigns[:"form_#{rv.id}"][:review_id]} />
</:actions>
<:actions>
<label for="comment" class="sr-only">Your comment</label>
<.input type="textarea" id="comment" field={assigns[:"form_#{rv.id}"][:content]} rows="6" placeholder={gettext("Tell us...")} />
</:actions>
<:actions>
<button type="button" phx-click="cancel_reply">
<%= gettext("Cancel") %>
</button>
<button type="submit" >
<%= gettext("Send") %>
</button>
</:actions>
</.simple_form>
</div>
and
def handle_event("show_reply_form", %{"id" => review_id}, socket) do
form_data = %{
"review_id" => review_id,
"content" => nil
}
form = to_form(form_data, as: "review")
socket = assign(socket, "form_#{review_id}": form)
{:noreply, socket}
end
Theoretically it should render just the form from the corresponding review but nothing is send to UI.






















