JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

can I do unscoped inside filter

Offen
#992 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Ruby
Sterne
2.3k
Forks
546
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I override self.records methods

def self.records(options = {})
  Course.index_page
end

which return courses that have index flag.

in a filter, I'd like to return all courses that I've purchased.

  filter :paid, apply: ->(records, _value, _options) {
    records.unscoped.where(id:  some_ids)
  }

an error was returned if some_ids includes course that doesn't have index flag.

Internal Server Error: undefined method id' for nil:NilClass /../../gems/jsonapi-resources-ad12cbab49cf/lib/jsonapi/resource_serializer.rb:59:in block in serialize_to_hash'

do I implement it in a wrong way, or some issues here?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der benutzerdefinierten records-Methode und dem filter :paid-Callback und sieh dir anschließend jsonapi/resource_serializer.rb in Zeile 59 an. Reproduziere den Fehler mit some_ids, das einen Kurs ohne das index-Flag enthält, und bestimme, ob das nicht eingeschränkte Ergebnis den Erwartungen des Serializers entspricht; abgeschlossen ist die Aufgabe, wenn das Verhalten geklärt und durch einen geeigneten Regressionstest abgedeckt oder als nicht unterstützt dokumentiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rails, ruby
Bereich
api, backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.