JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
RecordNotFound should receive associated resource class
Personne n'a encore pris cette issue.
- Langage dominant
- Ruby
- Étoiles
- 2.3k
- Forks
- 546
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par suivre la classe RecordNotFound et ses appelants, en vous concentrant sur la traduction du détail de JSONAPI::Error et sur la clé I18n record_not_found indiquée dans l’issue. Déterminez si l’erreur doit exposer la classe de ressource JSON:API ou sa classe ActiveRecord associée, puis vérifiez que le message d’absence de ressource obtenu inclut le contexte prévu de la ressource et l’ID.
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
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100