JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
RecordNotFound should receive associated resource class
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The message from record not found only pass ID as attribute.
I think it would be better to pass the resource class as well so that we can have something like
detail: I18n.translate('jsonapi-resources.exceptions.record_not_found.detail',
default: "The #{resource.name} identified by #{id} could not be found.", id: id, type: resource.class))]
Or maybe the associated activerecord class
This is the current implementation
class RecordNotFound < Error
attr_accessor :id
def initialize(id)
@id = id
end
def errors
[JSONAPI::Error.new(code: JSONAPI::RECORD_NOT_FOUND,
status: :not_found,
title: I18n.translate('jsonapi-resources.exceptions.record_not_found.title',
default: 'Record not found'),
detail: I18n.translate('jsonapi-resources.exceptions.record_not_found.detail',
default: "The record identified by #{id} could not be found.", id: id))]
end
end
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
Beginne damit, die Klasse RecordNotFound und ihre Aufrufer nachzuverfolgen, wobei du dich auf die Übersetzung des JSONAPI::Error-Details und den im Issue gezeigten record_not_found-I18n-Schlüssel konzentrierst. Kläre, ob der Fehler die JSON:API-Ressourcenklasse oder die zugehörige ActiveRecord-Klasse offenlegen sollte, und prüfe anschließend, dass die resultierende Not-found-Meldung den vorgesehenen Ressourcenkontext und die ID enthält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rails, ruby
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100