Я использую ресурс json api resource в моем проекте.Json Api Resources | ответ с массивом объектов
У меня есть установка простого ресурс
module V1
class ExpectedPaymentResource < JSONAPI::Resource
attributes :registration_id, :invoiced_amount_due, :date_due, :status, :created_at, :updated_at
end
end
В моем контроллере я получаю массив ExpectedPayments объектов из службы
expected_payments = CreateExpectedPayments.new(registration_params).call
теперь мне нужно вернуть expected_payments
в формате JSON API. Так, насколько я понимаю, я должен использовать serializer
Я делаю это
render json: JSONAPI::ResourceSerializer.new(ExpectedPaymentResource).serialize_to_hash(ExpectedPaymentResource.new(expected_payments, nil))
И я получаю <NoMethodError: undefined method 'id' for <Array:0x005642734fa6f8>>
А потом я попробовал:
render json: JSONAPI::ResourceSerializer.new(ExpectedPaymentResource).serialize_to_hash(ExpectedPaymentResource.new(expected_payments[0], nil))
И что работал для 1-й объект в массиве.
documentation говорит: «ResourceSerializer
имеет метод serialize_to_hash
, который принимает экземпляр ресурса или массив экземпляров ресурсов для сериализации».
Как я могу заставить его работать с массивом экземпляров ресурсов? Я не вижу примеров в документации.
Хотя эта ссылка может ответить на этот вопрос, то лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/18870835) – grizzthedj