JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Namespaced resources don't infer namespaced model_name

Offen
#1,152 0 Kommentare 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 don't know if this is by design or a bug, but given the follwing model and resource, the resource cannot infer the model name because of demodulize in https://github.com/cerebris/jsonapi-resources/blob/5af1f17068b66b0a17b7b69e5db334c640f6f34b/lib/jsonapi/resource.rb#L925

# model
module Foo
  class Bar < ApplicationRecord
  end
end

# resource
module Foo
  class BarResource < JSONAPI::Resource
    # model_name Foo::Bar' <= with this, things work fine, without, you'll get a warn "[MODEL NOT FOUND] warning
  end
end

If the resource is defined inside a module, should't we prefix the model_name with the same module by default to permit model_name inferring ?

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 in lib/jsonapi/resource.rb ungefähr bei Zeile 925 und reproduziere das Beispiel für Foo::Bar und Foo::BarResource aus dem Issue. Die Arbeit ist abgeschlossen, wenn eine innerhalb eines Moduls definierte Ressource das passende namespaced model ohne ein explizites model_name ableitet und keine MODEL NOT FOUND-Warnung ausgibt.

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
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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