Используйте ActiveModelSerializers с результатом запроса RawSql

#ruby-on-rails #postgresql #active-model-serializers

Вопрос:

Я хотел бы использовать ActiveModelSerializers в результате запроса RawSql в Rails. Не могу найти способ сделать это.

 sql = "SELECT * FROM table" results = ActiveRecord::Base.connection.exec_query(sql) options = { each_serializer: MySerializer } output = ActiveModelSerializers::SerializableResource.new(results, options).as_json  

Я перепробовал несколько вариантов:

 ActiveRecord::Base.connection.execute(sql)  

дать PG::Result

 ActiveRecord::Base.connection.exec_query(sql)  

дать ActiveRecords::Result

Но ничто из этого не может быть сериализовано.

Комментарии:

1. Вам нужно использовать AMS, он больше не поддерживается, другие драгоценные камни будут, например blueprinter , или jsonapi-serializer