JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Polymorphic association doesn't use model_name

Aperta
#382 6 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Type: Bug
Lingua principale
Ruby
Stelle
2.3k
Fork
546
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I have the following (simplified) setup:

class User < ActiveRecord::Base;
class Member < ActiveRecord::Base;

class MemberResource < JSONAPI::Resource
  model_name 'User'
end

class BookResource < JSONAPI::Resource
   has_one :author, polymorphic: true  # type is 'Member' here
end

class AuthorResource < JSONAPI::Resource; end

When I tried to request GET /books/:book_id/author JR will load Member from members table and not users as it's described with model_name.

Would say it's a bug?

I know that my use case is a little bit complex, but in that simplified example we decide to show User as Member in the API (we have different model names).

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 tracciando il percorso GET /books/:book_id/author per l'associazione polimorfica author di BookResource e confronta la sua risoluzione del tipo con il model_name 'User' di MemberResource. Riproduci l'esempio con User, Member, MemberResource e BookResource, quindi verifica che l'associazione venga risolta in users anziché in members, preservando i nomi delle risorse API.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.