JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Filter included resources or way around it

Aperta
#890 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Ruby
Stelle
2.3k
Fork
546
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla relazione has_many :books di ShelfResource e dal metodo records_for_available_books, quindi segui come vengono gestiti include e filter[books.available]. Riproduci gli errori segnalati e confronta la dichiarazione della relazione con la risposta filtrata richiesta. Il lavoro è completato quando è stato stabilito il modo supportato per filtrare i libri inclusi e l'esempio funziona, oppure quando vengono documentati il limite e l'approccio alla relazione preferito.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
ruby
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.