提供引用局部变量的json响应

时间:2013-05-17 03:56:51

标签: ruby-on-rails ruby

我正在尝试重构一个named-JSON响应以返回一个模型对象(仅一些属性),以及一些存储在局部变量中的关联数组,但是我不确定我做错了什么。局部变量肯定会被赋值,但是它们不会在响应中返回。

这是我要归还的结构...

{name:“Dan”,电子邮件:“email@email.com”,id:“1”,open_gifts:[{objects},{here}]}

设置     @person = Person.find_by_id(params [:id])     gifts_created_open = Gift.created_gifts_open(@person)

return_object = [@person.name, @person.email, @person.id, gifts_created_open]

现在,返回一个带有详细信息的JSON对象,但是它包装在一个数组中,我试图只返回一个命名对象,其中包含相关的数组。

render :json => return_object

这会返回一个命名对象,但它缺少数组。是什么给了??

render :json => @person.to_json(:gifts_created_open, :only => [:name, :email, :id] )

非常感谢。我已经花了几个小时:/

1 个答案:

答案 0 :(得分:2)

尝试:

return_object = {name:@person.name, email:@person.email, id:@person.id, gifts:gifts_created_open}.to_json