JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Pagination, sorting and filtering of related resources no longer work properly
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
After upgrading to 0.9.0, when records for a relationship is overridden in the resource, pagination, sorting and filtering no longer works. Example, we have a UserResource and it has a has_many :comments relationship and on the resource, we override the method like:
def records_for_comments(_options = {})
# do some custom stuff here
end
After debugging, I can see that this is because from the older versions, in RelationshipBuilder, the logic where the records are sorted, filtered and paginated in the block:
define_on_resource relationship_name do |options = {}|
# . . .
end
are moved to this block:
define_on_resource associated_records_method_name do |options = {}|
# . . .
end
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in RelationshipBuilder e confronta i blocchi define_on_resource di relationship_name e associated_records_method_name. Segui records_for_comments per una relationship sovrascritta, quindi verifica che l’ordinamento, il filtraggio e la paginazione continuino ad applicarsi quando viene utilizzato il metodo personalizzato. L’issue non menziona un file di test, quindi individua i test pertinenti del comportamento di relationship prima di apportare la modifica.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ruby
- Ambito
- backend-api-design
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100