JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Polymorphic association doesn't use model_name

Ouverte
#382 6 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Type: Bug
Langage dominant
Ruby
Étoiles
2.3k
Forks
546
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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).

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par suivre le chemin GET /books/:book_id/author pour l'association polymorphe author de BookResource et comparez sa résolution de type avec le model_name 'User' de MemberResource. Reproduisez l'exemple avec User, Member, MemberResource et BookResource, puis vérifiez que l'association se résout vers users plutôt que vers members, tout en conservant les noms des ressources API.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rails, ruby
Domaine
api, backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.