JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
jsonapi_resource should use relationship.class_name instead of relationship_name
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
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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalle definizioni delle relazioni nell’issue e segui il modo in cui la route della risorsa correlata kudos-received seleziona il proprio controller. Confronta il nome della relazione con class_name e model_name, quindi decidi se il routing predefinito debba usare il nome del modello o supportare un override del controller a livello di relazione; il lavoro è completato quando la route generata punta al controller mm/kudos previsto senza interrompere il comportamento esistente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rails, ruby
- Ambito
- api, backend
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100