JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Filter on relationship route?

Offen
#1,065 3 Kommentare 7 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

Is it possible to filter on a relationship route?

class PostResource < JSONAPI::Resource
  has_many :comments

  def records_for_comments(options = {})
    records_for(:comments).public
  end
end
class CommentResource < JSONAPI::Resource
  has_one :post

  filter :active,
    apply: -> (records, value, options) {
      if value
        records.active
      else
        records.inactive
    end
  }
end

This calls the filter:

/comments?filter[active]=1

This does not seem to call the filter:

/posts/14/comments?filter[active]=1

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 Methode records_for_comments der PostResource und vergleiche die Filterbehandlung für /comments?filter[active]=1 mit /posts/14/comments?filter[active]=1. Verfolge den Einstiegspunkt der Route für die verschachtelte Beziehung und bestätige, ob der aktive Filter der CommentResource dort angewendet wird; als abgeschlossen gilt die Aufgabe, wenn die verschachtelte Route dasselbe Filterverhalten wie die direkte comments-Route erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rails, ruby
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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