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

Offen
#1,053 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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--c everything works as expected.
  • If I name the attr colors everything works as expected.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.