JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Error with aliased attr's into dasherized strings- Unable to update record with "no implicit conversion of nil into Hash" error
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I am running into an issue when attempting to save records with properties that have been aliased into a dasherized string.
I have a model like this:
# models/location.rb
class Location < ApplicationRecord
alias_attribute :numberOfColors, :number_of_colors__c
end
And my resource:
# resources/location_resource.rb:
class LocationResource < JSONAPI::Resource
attributes :numberOfColors
end
Sending a patch request like so returns the error no implicit conversion of nil into Hash.
{
"data":{
"id":"somerecordid",
"attributes":{
"colors": 3,
},
"type":"locations"
}
}
- If I skip the aliasing and pass in the attr as
number-of-colors--ceverything works as expected. - If I name the attr
colorseverything works as expected.
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 PATCH-Anfrage mit models/location.rb und resources/location_resource.rb zu reproduzieren, und vergleiche dann das aliasierte Dasherized-Attribut mit den funktionierenden nicht aliasierten Fällen, die im Issue beschrieben sind. Verfolge den Pfad der Attributaktualisierung, bis der nil-to-Hash-Fehler identifiziert ist; als erledigt gilt die Aufgabe, wenn das Speichern über den Alias ohne den Fehler erfolgreich ist und die vorhandenen funktionierenden Fälle weiterhin intakt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rails, ruby
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100