JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Filter included resources or way around it
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Ruby
- Estrellas
- 2.3k
- Forks
- 546
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hi,
Is there currently a way of filtering resources that are included to our response?
ie: I want to get and include books with that response I'll just do
address/shelves?include=books
but what if I would like to filter by only available books?
ie: address/shelves/?include=books&filter[books.available]=true
books.available is just a scope in this case
or is the preffered method to do this by declaring additional relationships in the shelf resource?
like below
class ShelfResource < JSONAPI::Resource
has_many :books
has_many :available_books
...
end
If the latter, how do I exactly specify the method for finding resources for this relationship?
I've tried that already by adding
def records_for_available_books
_model.books.available
end
to the shelf resource but I keep getting errors when doing that.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
Comienza con la relación has_many :books de ShelfResource y el método records_for_available_books; después, sigue cómo se gestionan include y filter[books.available]. Reproduce los errores reportados y compara la declaración de la relación con la respuesta filtrada solicitada. El trabajo está terminado cuando se haya establecido la forma compatible de filtrar los libros incluidos y el ejemplo funcione, o cuando se documenten la limitación y el enfoque de relación preferido.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ruby
- Área
- api, backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100