Suggestion: Make it easier to identify or bypass only submitting dirty attributes on update
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Empieza leyendo el comportamiento de dirty-attributes introducido en PR 1149 y sigue la ruta de guardado que envía la solicitud PUT. Define qué comportamiento propuesto está incluido en el alcance —evitar las dirty checks, inspeccionar los cambios o informar de payloads vacíos— y considera completado el issue cuando el comportamiento seleccionado esté especificado con una forma clara de verificarlo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This feature to only send changed fields has tripped me up a few times and can be difficult to identify.
The problem I've ran into is when the object state hasn't changed and you call save it will still do the put request with an empty payload and you end up with an error with something like {"errors":{"metafield":"Required parameter missing or invalid"} which isn't very clear about the problem. As far as I can tell there isn't a method that I can use to inspect the object to decide if I need to save or not.
If this functionality is really important what do you think about a few additional features to make it easier to work with or bypass, such as:
- Allow bypassing the dirty attributes check and sending all attributes on
save. Maybe something likesave(only_changed: false) - Provide a method that we can use to inspect the object to see if there are changes so we can skip the
savecall if we want. Something likechanged?ordirty?maybe?
It would also be great if an error or warning of some sort was returned if the payload you are submitting is empty.
- Lenguaje dominante
- Ruby
- Estrellas
- 1.1k
- Forks
- 484
- Merge medio
- 4 h 38 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Shopify/shopify-api-ruby
-
devtools-gardener
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Shopify/shopify-api-ruby#1456 · 3 reacciones ·
-
devtools-gardener
Dificultad 3/5 1-2 días Aptitud para principiantes 67/100
Shopify/shopify-api-ruby#1461 · 1 comentario ·
-
automated
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Shopify/shopify-api-ruby#1460 ·
-
devtools-gardener
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Shopify/shopify-api-ruby#1455 ·
-
devtools-gardener
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Shopify/shopify-api-ruby#1453 · 1 comentario ·
Todos los issues de Shopify/shopify-api-ruby
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
jetrockets/jet_ui#47 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
FreeCAD/homebrew-freecad#870 ·
Los mantenedores suelen responder en 1 día