3
我與Rabl的工作了一段時間,就在今天我面對,我無法解決得很好了一個有趣的問題..如何在沒有「根」節點使用不同的模板收集與Rabl的
所以,我有一個集合從GET返回 「... /表/ 512 /資源」 這裏是我用來返回(無根)我的樣本模板Rabl的:
collection @resources
extends "api/v1/resources/_base"
=> {[{... },{...},{...}]}
但是,現在我意識到我要爲每個資源返回不同的模板,具體取決於它們的attr ibutes ..所以這很容易嗎?
node @resources => :resources do |resource|
if resource.type == 'Document'
partial('...', :object => resource)
elsif @resource.type == 'Folder'
partial('...', :object => resource)
end
end
=> {資源:[{...},{...},{...}]}
但是喔!現在我不想那個「資源」節點在那裏..應該怎麼做?我想是這樣的:
array = []
@resources.each do |resource|
if resource.type == 'Document'
array << partial('...', :object => resource)
elsif @resource.type == 'Folder'
array << partial('...', :object => resource)
end
end
collection array
,但沒有成功,它將返回空對象,如=> [{},{},{}]。任何想法我怎麼能做到這一點?
是的,活動模型序列化器規則!自創建這個問題以來,我一直在使用它,並且因爲使用rabl而感到沮喪 – mateusmaso