Ruby on rails 子类与Rabl

Ruby on rails 子类与Rabl,ruby-on-rails,ruby,rabl,Ruby On Rails,Ruby,Rabl,我有一个包含父类和子类对象的提要,我使用RABL将其呈现为json。我将根对象包含在json中 问题是这个=>取决于首先出现的内容,json中的根节点将使用相应的类生成 我需要它是所有的父类 示例如下: Class Klass ... Class SubclassOfKlass < Klass ... k = Klass.create s = SubclassOfKlass.create array1 = [k,s] Rabl::Renderer.json(nil, 'answe

我有一个包含父类和子类对象的提要,我使用RABL将其呈现为json。我将根对象包含在json中

问题是这个=>取决于首先出现的内容,json中的根节点将使用相应的类生成

我需要它是所有的父类

示例如下:

Class Klass
 ...

Class SubclassOfKlass < Klass
 ...

k = Klass.create
s = SubclassOfKlass.create

array1 = [k,s]
Rabl::Renderer.json(nil, 'answers/list', view_path: 'app/views', locals: {object: array1})

## results will render everything as "Klass" objects
## [{\"klass\":{\"_id\":\"1\"},{\"klass\":{\"_id\":\"2\"}]

array2 = [s,k]
Rabl::Renderer.json(nil, 'answers/list', view_path: 'app/views', locals: {object: array1})

## results will render everything as "SubclassOfKlass" objects
## [{\"subclass_of_klass\":{\"_id\":\"1\"},{\"subclass_of_klass\":{\"_id\":\"2\"}]

### But I need the root to be always "klass" and not "subclass_of_klass"

好的,答案很简单:

collection @answers, :object_root => "answer"

你能发布你的.rabl模板吗?另外,我是否正确理解了RABL生成的JSON看起来像
{“subclass”:{…}}
,您希望它看起来像
{“class”:{…}
?@drewinglis done!是的,你是对的。这很令人费解,really@drewinglis谢谢你的帮助-我发布了我的解决方案
collection @answers, :object_root => "answer"