【问题标题】:Rails and ActiveModelSerializer: Merging two collectionsRails 和 ActiveModelSerializer:合并两个集合
【发布时间】:2015-10-13 14:59:57
【问题描述】:

我有两个模型 ExpenseLogIncomeLog,每个模型都有一个序列化器(使用 active_model_serializers gem)。

我有一个控制器,它的方法应该返回过去 30 天的所有日志(包括费用日志和收入日志)。 我必须合并两个集合,并为每个项目使用序列化程序(如果是 ExpenseLog,则使用 E​​xpenseLogSerializer,如果是 IncomeLog,则使用 IncomeLogSerializer)。

首先,我有两个问题: 1)有没有办法先合并两个集合然后序列化它们? 2)如果没有,我该如何在不使用“render json:collection”方式的情况下序列化集合?因为我需要将 json 结果存储在一个变量中,以便与另一个集合合并。

【问题讨论】:

    标签: ruby-on-rails json active-model-serializers


    【解决方案1】:

    对于 1) 答案是肯定的,只需将两个集合合并到一个数组中,一切都会按预期工作。

    对于2)你可以做

    hash = ActiveModel::SerializableResource.new(collection).serializable_hash
    json = hash.to_json
    

    【讨论】:

      猜你喜欢
      • 2014-05-29
      • 2016-06-05
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 2023-03-07
      • 2015-08-11
      • 2020-07-22
      • 1970-01-01
      相关资源
      最近更新 更多