Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

SimpleFormIterator issue when editing resources

Abierto
#485 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
react, typescript
Área
frontend

Línea de trabajo

Comienza con el repositorio de reproducción enlazado y su archivo pwa/components/Admin.tsx, especialmente con la transformación dirtyFix del elemento Edit. Reproduce el flujo de edición de Author añadiendo un Book mediante SimpleFormIterator e inspecciona el array guardado en busca de valores @id y @type vacíos. Se considera terminado cuando el nuevo Book anidado se puede guardar sin el error “No resource associated to ""”.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

API Platform version(s) affected: 3.0.2 (also 2.6.8 with last Admin version)

Description
Since react-admin 4.4+, I am not able to dynamically create sub-elements when editing a resource. Let's say I have Book and Author resources, you can create books from the Author edit page thanks to an ArrayInput and a SimpleFormIterator. When I tried to add Books to an Author with the Author edit page, the following error occurred : No resource associated to "".

How to reproduce
Here is an example repo to reproduce my issue : https://github.com/gaspardphilibert/issue-api-platform-admin-simpleformiterator. To experience the bug, you can create an Author with one Book, then edit the Author and try to add another Book. You shouldn't be able to add the second Book.

The reason
Version 4.4.0 of react-admin fixes an issue (https://github.com/marmelab/react-admin/pull/8204) linked to SimpleFormIterator default values when adding a record. It seems that it takes the first array value and reset its fields to make a default value for new elements. Obviously, during the process an empty @id field is also injected. So, when I add a new value in my SimpleFormIterator and save the entity, it sends the array with an item with an empty string @id. Like this for example :

{
    "@context": "/contexts/Author",
    "@id": "/authors/1",
    "@type": "Author",
    "name": "Shakespeare",
    "books": [
        {
            "@id": "/books/1",
            "@type": "Books",
            "name": "Roméo et Juliette"
        },
        {
            "@id": "",
            "@type": "",
            "name": "Macbeth"
        }
    ],
    "id": "/authors/1"
}

Hence the No resource associated to "". error.

Possible Solution
I used the transform property (dirtyFix function in my example repo) on the Edit element to remove the empty @id and it worked well but I am wondering if it's the best solution (I am quite new in the API Platform world, maybe it could be solved at a lower level).

Thanks for your help !

Lenguaje dominante
TypeScript
Estrellas
516
Forks
134
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de api-platform/admin

Todos los issues de api-platform/admin

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.