2014-05-11 82 views
0

我正在尝试使用mongoid和rails构建api。 当我返回一个对象作为JSON,这部分工作,但作为 返回一个哈希对象将mongoid对象返回为json。

render :json => @object 

{"_id":{"$oid":"536faac8506574fb87000000"},"address":"Test address.","lat":0.0,"lon":0.0,"name":"Test Name"} 
的_id

不应该返回“_id”:“536faac8506574fb87000000”

我怎么能这样做?

+0

有关使用Rabl的创业板API如何? – Dave

回答

2

您可以简单改变这种行为在as_json方法:

​​
0

一种方式来实现,这是用辅助函数如下

render :json => custom_json(@object) 

private 
def custom_json(value) 
    result = value.map do |client| 
    { :id => " #{client.id}", 
     :address => client.address.to_s, 
     :name => client.name.to_s 
    } 
    end 
    result.to_json 
end