我正在尝试重构一个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] )
非常感谢。我已经花了几个小时:/
答案 0 :(得分:2)
尝试:
return_object = {name:@person.name, email:@person.email, id:@person.id, gifts:gifts_created_open}.to_json