JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Support foreign_type in has_one association

Offen
#875 3 Kommentare 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 am updating an app to use jsonapi:resources and have had to change a model association name without changing the underlying table. This model had a polymorphic field :resource which is now called :item, however the underlying table still has fields resource_id and resource_type.

In my model I can do this:

belongs_to :item, polymorphic: true, foreign_key: "resource_id", foreign_type: "resource_type"

However when I do this in my resource file:

has_one :item, polymorphic: true, foreign_key: 'resource_id', foreign_type: 'resource_type'

I receive an error "undefined method item_type=". From the docs it looks like foreign_key is supported but foreign_type is not. Could this be easily fixed?

Thanks for a great gem, it's been a pleasure to work with!

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 has_one-Association-Behandlung und der vorhandenen foreign_key-Unterstützung und reproduziere anschließend die im Issue gezeigten Modell- und Ressourcenkonfigurationen. Als abgeschlossen gilt die Arbeit, wenn foreign_type akzeptiert wird, ohne die nicht definierte Methode item_type= aufzurufen, und eine Abdeckung für polymorphe Associations vorhanden ist, deren Modellname sich von der zugrunde liegenden Typspalte unterscheidet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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