我有一个同时包含父对象和子类对象的提要,我使用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"rabl如下所示(非常简单)
# list.rabl
collection @answers
extends "answers/show"
#show.rabl
if @user
node(:context_string) { |a| a[:context_string]}
node(:notebook) do |a|
if a.class == SubclassOfKlass
a.notebook
end
end
end
extends "klasses/cache"发布于 2013-03-27 14:42:31
好的,答案很简单:
collection @answers, :object_root => "answer"https://stackoverflow.com/questions/15647955
复制相似问题