使用RABL Rails JSON,显示父属性?

时间:2013-06-26 18:23:04

标签: json ruby-on-rails-3 gem rabl

我的Rails 3.2应用程序中有以下RABL文件:

collection @results.limit(5)

attributes :date, :client_id

child :client do
  attributes :Surname
end

child :animal do
  attributes :AnimalName
end

我想添加结果所属的用户名。我在RABL文档中阅读的所有内容似乎都表明只有childnode可用。

我怎样才能在上面的代码中获得parent属性?只是执行以下操作显然会返回NULL!

child :animal do
  attributes :AnimalName
end

这可能吗?

当前的JSON输出:

{
date: "2013-06-25T19:36:11+01:00",
client_id: 88172,
client: {
Surname: "Strange"
},
animal: {
AnimalName: "Ria"
}
},

期望的输出:

{
date: "2013-06-25T19:36:11+01:00",
client_id: 882372,
client: {
Surname: "Summer"
},
animal: {
AnimalName: "Ria"
},
user: {
UserName: "Danny"
}
},

1 个答案:

答案 0 :(得分:0)

您可以添加添加用户数据的自定义节点:

collection @results.limit(5)

attributes :date, :client_id

node :user do |report|
  partial('users/show', :object => report.user)
end

这假设你想要整个用户/节目模板。

如果您只想要名称键/值:

node :user do |report|
 { :name => report.user.name }
end