JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Should fail with original 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
In some cases original exceptions have important effects, for example I ran with issue that this fix is not working with jsonapi-resources "deallocate prepared statements if we fail inside a transaction"(https://github.com/rails/rails/pull/22170), so when you shallow error here you'd potentially breaks some other logic.
I think you should propagate original error, not just ActiveRecord::Rollback
Something like this should work, I think
https://github.com/cerebris/jsonapi-resources/blob/v0.9.0/lib/jsonapi/operation_dispatcher.rb#L30:
rollback(transactional) if results.has_errors? => fail results.original_error if results.has_errors? && transactional
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 mit operation_dispatcher.rb ungefähr bei Zeile 30 und acts_as_resource_controller.rb ungefähr bei Zeile 100 und überprüfe anschließend das referenzierte Transaktionsverhalten in der verlinkten Rails-Änderung. Bestätige, dass eine transaktionale Operation ihre ursprüngliche Ausnahme weitergibt und nicht nur ActiveRecord::Rollback, während das nicht-transaktionale Verhalten unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rails, ruby
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100