JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Relationships on Create for non ActiveRecord models
Nessuno ha ancora preso questa issue.
- Lingua principale
- Ruby
- Stelle
- 2.3k
- Fork
- 546
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I guess more of a question.
I have this legacy app we are trying to slowly migrate to use jsonapi-resources. We have some bloated models we are splitting into smaller resources but also some models that point to Redis-backed models.
class RedisResource < JSONAPI::Resource
attribute :attr_1
attribute :attr_2
# Override required. The underlying model is not based on
# ActiveRecord.
def self.find_by_key(key, options = {})
context = options[:context]
model = RedisModel.find(key)
raise(JSONAPI::Exceptions::RecordNotFound, key) if model.nil?
new(model, context)
end
end
The problem though, is that somehow the relationship data is getting lost before reaching the Resource methods like: #replace_field(field_data).
All that info is available when I use an ActiveRecord model that uses the #belongs_to helper. But unsure what do I need to do/implement in my models to get the relationship assignment working.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da RedisResource#find_by_key e segui come i dati delle relazioni arrivano a #replace_field(field_data) per le risorse non basate su ActiveRecord. Confronta questo percorso con una risorsa ActiveRecord che usa belongs_to; il lavoro è completato quando l’assegnazione della relazione dell’issue funziona per il modello basato su Redis e il comportamento pertinente è verificato dai test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- redis, ruby
- Ambito
- api, backend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100