JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Filter included resources or way around it
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der has_many :books-Beziehung von ShelfResource und der Methode records_for_available_books und verfolge dann, wie include und filter[books.available] behandelt werden. Reproduziere die gemeldeten Fehler und vergleiche die Beziehungsdeklaration mit der angeforderten gefilterten Antwort. Abgeschlossen ist die Aufgabe, wenn die unterstützte Möglichkeit zum Filtern eingeschlossener Bücher festgestellt wurde und das Beispiel funktioniert oder die Einschränkung und der bevorzugte Beziehungsansatz dokumentiert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ruby
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100