转换根关联数据Active Model Serializers 0.9.7

时间:2018-02-16 14:52:11

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

我基本上尝试使用活动模型序列化程序返回一些数据,使用键值对象而不是数组用于我的关联。所以,而不是

def gcd2(m, n):
    if m % n != 0:
        return gcd2(n, m % n)
    else:
        return n

我想要

{ 
  books: [{
   id: 1,
   title: "Foo"
  }],
  comments: [...]
}

到目前为止我正在做的是这个,但我得到: NoMethodError(#Hash的未定义方法`id':0x00007f8d1b24d100):

{ 
  books: [{
   id: 1,
   title: "Foo"
  }],
  comments: {
    "1": { 
      id: 1,
      content: "Bar"
    }
  }
}

我正在使用AMS 0.9.7和rails 5.0

1 个答案:

答案 0 :(得分:0)

按以下方式更改BookSerializer#comments方法:

def comments object.comments.index_by { |c| c[:id] } end