使用Rabl返回Rails API中存在HABTM关联的子节点

时间:2012-02-13 23:29:35

标签: ruby-on-rails rabl

我使用流行的Rabl gem在Rails中生成JSON API。但是,我很难理解如何返回HABTM关联的结果。我有一个名为Sale的模型和一个名为Merchandise的模型。为每个指定HABTM关联。我的.rabl文件如下所示。

对象@sales

attributes :name, :date_start, :date_end

child :merchandises do
    attributes :name
end

我的模型只是传递@sales = Sale.all。

即使许多行具有有效关系,孩子也不会返回任何内容。还有什么我需要做的吗?

1 个答案:

答案 0 :(得分:2)

尝试查看https://github.com/nesquena/rabl/issues/149问题。也许这样做:

collection @sales
attributes :name, :date_start, :date_end
node :merchandises do |s|
  s.merchandises.to_a.map { |m| { :name => m.name } }
end

看看它是否更好?