【发布时间】:2021-12-12 19:15:36
【问题描述】:
我想在 Rails 中对 rawSQL 查询的结果使用 ActiveModelSerializers。 找不到办法。
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
但是这些都不能序列化。
【问题讨论】:
-
你必须使用 AMS,它不再维护,其他 gem 将是例如
blueprinter或jsonapi-serializer
标签: ruby-on-rails postgresql active-model-serializers