JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

:remove attribute leads to resource deletion

Offen
#1,090 7 Kommentare 3 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

Hi!

When I have a resource with

attributes :a, :b, :remove

every time I fetch them, jsonapi ACTUALLY REMOVES them one by one from database with following trace:

D, [2017-07-20T14:35:16.578563 #25926] DEBUG -- :   SQL (0.2ms)  DELETE FROM `...` WHERE `...`.`id` = 42
I, [2017-07-20T14:35:16.578784 #25926]  INFO -- : #9:   .../vendor/bundle/ruby/2.1.0/gems/jsonapi-resources-0.8.1/lib/jsonapi/resource.rb:216:in `_remove'
#10:    .../vendor/bundle/ruby/2.1.0/gems/jsonapi-resources-0.8.1/lib/jsonapi/resource.rb:66:in `block in remove'
#14:    .../vendor/bundle/ruby/2.1.0/gems/jsonapi-resources-0.8.1/lib/jsonapi/resource.rb:65:in `remove'
#15:    .../vendor/bundle/ruby/2.1.0/gems/jsonapi-resources-0.8.1/lib/jsonapi/resource_serializer.rb:156:in `public_send'
#16:    .../vendor/bundle/ruby/2.1.0/gems/jsonapi-resources-0.8.1/lib/jsonapi/resource_serializer.rb:156:in `block in attributes_hash'

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

Reproduziere die Ressource mit attributes :a, :b, :remove und untersuche anschließend lib/jsonapi/resource.rb und lib/jsonapi/resource_serializer.rb, insbesondere _remove, remove und attributes_hash. Die Aufgabe ist erledigt, wenn das Abrufen der Ressource nicht mehr die Entfernung aufruft oder ein Datenbank-DELETE ausführt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
backend, databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

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