Help with endpoint for a non-ActiveRecord model without a database table
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
Línea de trabajo
Comienza con el ejemplo del modelo CalendarEvent y Api::V3::CalendarEventsController; después, sigue cómo JSONAPI::ResourceSerializer gestiona el array de ActiveModel mapeado. Reproduce la respuesta 204 No Content e inspecciona el comportamiento de resource y serializer para modelos que no son ActiveRecord. Se considera terminado cuando se identifique un enfoque de serialización compatible o se documenten los cambios de integración necesarios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have a non-ActiveRercord model without a database table I am trying to create an API endpoint for. The data for this model is populated dynamically with custom SQL and provides generic relations to real ActiveRecords.
Because of all the magic happening with JSONAPI Resources I am having a hard time serializing the array of ActiveModels successfully. Am wondering what the best approach for this might be? I've tried some monkey patching without success and would appreciate guidance
model example
class CalendarEvent
include ActiveModel::Model
attr_accessor(
:id,
:title,
# etc etc
)
def self.modelize(record)
return CalendarEvent.new(record)
end
def self.records(person_id, start_date, end_date, options = {})
sql = "select 'some custom sql' from various_table where serious_magic_happens"
records = ActiveRecord::Base.connection.execute(sql)
records = records.map{ |r| self.modelize(r) } # returns an Array of CalendarEvent::Class
end
end
controller attempt
class Api::V3::CalendarEventsController < Api::V3::ApiController
def index
records = CalendarEvent.records(1686, '2017-07-01', '2017-07-31')
resources = records.map { |r| Api::V3::CalendarEventResource.new(r, nil) }
JSONAPI::ResourceSerializer.new(Api::V3::CalendarEventResource).serialize_to_hash(resources)
end
end
The above controller returns a 204 No Content even though I am passing serialize_to_hash an array ... am I misunderstanding how this should work ? Or is there a better way?
Thanks!
- Lenguaje dominante
- Ruby
- Estrellas
- 2.3k
- Forks
- 546
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JSONAPI-Resources/jsonapi-resources
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
ArgumentError with Rails 8.1 Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
JSONAPI-Resources/jsonapi-resources#1488 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
JSONAPI-Resources/jsonapi-resources#1479 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
JSONAPI-Resources/jsonapi-resources#1477 · 3 comentarios · 1 reacción ·
-
Fields filtering with include Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Todos los issues de JSONAPI-Resources/jsonapi-resources
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
ds-drift
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
we-promise/sure#3693 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
simp/pupmod-simp-simp#395 ·