这是我第一次在Rails中使用json。在我定义的患者控制器的搜索动作中:
format.json { render json: @patients}
所以现在这个资源给了我这样一个输出:
[{"id":73551,"typ":null,"name":"Beck","forname":"Ana","birthday":"1945-06-14","titel":"",department_id":2,"tot":null},
我想将输出更改为:
[{"id":73551,"fullname":"Beck, Ana"},{...
我该怎么做?谢谢!
更新!现在我有:
....
respond_to do |format|
format.html {}
format.json { render json: as_json(@patients)}
end
end
def as_json(options={})
{
:id => self.id,
:fullname => self.name + ", " + self.forname
}
end
但不知怎的,我得到了错误
#
的未定义方法`id'
答案 0 :(得分:1)
select
子句应该完成工作:@patients.select([:id, :fullname, :whateveryouneed])
对于第二个问题,您可以考虑过度使用Patient.as_json
方法:
def as_json(options={})
{
:id => self.id,
:fullname => self.name + ", " + self.forname
}
end