JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Support foreign_type in has_one association
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
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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