sort by country that is related to resource not directly but through the third relation is not work properly
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 38/100
Piste de recherche
Commencez par reproduire GET /destinations?sort=country.name avec les associations entre Routing::Destination, DestinationResource et System::NetworkPrefix présentées dans l’issue. Inspectez le SQL généré et le point d’entrée du join de la relation de tri. C’est terminé lorsque le tri via l’association indirecte avec country ne fait plus référence à la colonne inexistante destinations.country_id et que la requête aboutit correctement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
This issue is a (choose one):
- Problem/bug report.
- Feature request.
- Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead.
Checklist before submitting:
- I've searched for an existing issue.
- I've asked my question on Gitter and have not received a satisfactory answer.
- I've included a complete bug report template. This step helps us and allows us to see the bug without trying to reproduce the problem from your description. It helps you because you will frequently detect if it's a problem specific to your project.
- The feature I'm asking for is compliant with the JSON:API spec.
Description
When making a request to a specific API endpoint with the query parameter sort=country.name, the application crashes due to an error in the sorting mechanism. The problem arises because the country relationship does not directly belong to the destination model but rather through another association. This leads to an undefined column error when attempting to perform the sorting operation.
Additional info
class Routing::Destination < ApplicationRecord
belongs_to :network_prefix, class_name: 'System::NetworkPrefix', optional: true
has_one :country, through: :network_prefix
end
class Api::Rest::Admin::Routing::DestinationResource < JSONAPI::Resource
has_one :country, class_name: 'Country', force_routed: true, foreign_key_on: :related
end
class System::NetworkPrefix < ApplicationRecord
belongs_to :country, class_name: 'System::Country', foreign_key: :country_id, optional: true
end
request that lead to 500 error
GET /destinations?sort=country.name
SELECT "class4"."destinations".* FROM "class4"."destinations"
LEFT JOIN sys.countries AS country_sorting ON country_sorting.id = class4.destinations.country_id
LEFT JOIN class4.rate_groups AS rate_group_sorting ON rate_group_sorting.id = class4.destinations.rate_group_id
ORDER BY country_sorting.name asc, rate_group_sorting.name asc LIMIT $1 OFFSET $2 [["LIMIT", 50], ["OFFSET", 0]]
Internal Server Error: PG::UndefinedColumn: ERROR: column destinations.country_id does not exist
LINE 1: ...ntries AS country_sorting ON country_sorting.id = class4.des...
^
jsonapi-resource version 0.9.12
- Langage dominant
- Ruby
- Étoiles
- 2.3k
- Forks
- 547
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
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.
Autres issues de JSONAPI-Resources/jsonapi-resources
-
Fix incorrect translation key for parameter_not_allowed.detailPeut-être pris @pozzer l’a pris il y a 592 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
ArgumentError with Rails 8.1Peut-être pris @SAY-5 l’a pris il y a 49 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 50/100
JSONAPI-Resources/jsonapi-resources#1488 · 1 commentaire ·
-
Rails 8.1: jsonapi_resources DSL fails to generate relationship routes due to Resource#initialize signature changePeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
JSONAPI-Resources/jsonapi-resources#1479 · 2 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
JSONAPI-Resources/jsonapi-resources#1477 · 3 commentaires · 1 réaction ·
-
Fields filtering with includeOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Toutes les issues de JSONAPI-Resources/jsonapi-resources
Issues similaires
-
bug: "Conversation information" accordion renders blank with 0px height when conversation has no attributesPeut-être pris @gihovani l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
sclorg/s2i-ruby-container#660 · 1 commentaire ·
-
documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
bridgetownrb/bridgetown#1130 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
hlascelles/que-scheduler#611 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
rapid7/metasploit-framework#22008 ·
Les mainteneurs répondent en général sous 2 jours