0

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

这是我想要返回的结构......

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

设置@person = Person.find_by_id(params[:id]) gift_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] )

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

4

1 回答 1

2

尝试:

return_object = {name:@person.name, email:@person.email, id:@person.id, gifts:gifts_created_open}.to_json
于 2013-05-17T04:03:22.680 回答