使用rabl处理2种不同类型

时间:2012-04-19 19:18:16

标签: ruby-on-rails ruby-on-rails-3.1 rabl

我正在搜索名为locations的表和名为items的表。它们都是短表(2k项),所以不要担心这个查询的性能。

我将搜索一个然后另一个,从而将2种不同类型的对象作为单个数组返回。有没有办法可以使用rabl模板来处理这些情况中的任何一种。类似的东西:

collection @locations

@locations.each do |x|
if x.class.to_s=='Location'
  extends "api/location"
elsif x.class.to_s=='Location'
  extends "api/item"
end

THX

编辑#1 试过这个,但不知道这是什么让我。该数组只是一个不同对象的列表,不确定什么是展平数组。

collection @b

node(:data) do |m|
  [@locations, @items].flatten
end

1 个答案:

答案 0 :(得分:0)

我玩了一下并想出了这个,它应该呈现一个名为array_name的JSON数组,其中包含@locations@items中的所有对象:

* Rabl的:

node(:array_name) do |m|
  [@locations, @items].flatten
end