JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
jsonapi_resource should use relationship.class_name instead of relationship_name
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
We have models Contractor and Mm::Kudo and corresponding resources.
class ContractorResource < JSONAPI::Resource
model_name 'Coworker'
attributes :name, :uid, :avatar_url
has_many :kudos_given, class_name: 'Mm::Kudo'
end
class Mm::KudoResource < JSONAPI::Resource
model_name 'Mm::Kudo'
attributes :value, :tags, :comment
has_one :giver, class_name: 'Contractor'
end
And generate route for kudos-received relation points to kudos#get_related_resources controller instead of mm/kudos#get_related_resources (btw.: includes work fine)
There two options:
- leave the default behaviour as it is and allow to overwrite controller at relationship level
e.g.: for the given example
has_many :kudos_given, class_name: 'Mm::Kudo', controller: 'mm/kudos'
and pass the relationship params to the jsonapi_related_resources
- use
model_nameto generate path for default controller (and still allow to overwrite controller at thehas_manydefinition
Which option should we pick and adopt
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
Untersuche zunächst die Beziehungsdefinitionen im Issue und verfolge, wie die Route für die zugehörige Ressource kudos-received ihren Controller auswählt. Vergleiche den Beziehungsnamen mit class_name und model_name, und entscheide dann, ob das Standard-Routing den Modellnamen verwenden oder eine Controller-Überschreibung auf Beziehungsebene unterstützen sollte; als erledigt gilt die Aufgabe, wenn die generierte Route auf den vorgesehenen mm/kudos-Controller zeigt, ohne bestehendes Verhalten zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rails, ruby
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100