JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Support foreign_type in has_one association

Aperta
#875 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla gestione dell’associazione has_one e dal supporto esistente per foreign_key, quindi riproduci le configurazioni del modello e della risorsa mostrate nell’issue. Il lavoro è completo quando foreign_type viene accettato senza chiamare il metodo non definito item_type=, con una copertura per le associazioni polimorfiche il cui nome del modello differisce dalla colonna del tipo sottostante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rails, ruby
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.