我的模型有以下格式:
rails generate model Location name:text latitude:text longitude:text
我会以下列方式提供服务:
render json: { location: @location } #retrieved column
但是,当从数据库中检索数据并将其作为json有效负载提供时,我想将纬度和经度包装在不同的密钥中,并按以下格式提供:
{
"name": "New York",
"coordinates": {
"latitude": "12.23543",
"longitude": "2.44556"
}
}
如何编辑我的模型结构以提供此格式?
答案 0 :(得分:1)
您可以通过多种方式构建JSON响应。
您可以使用以下代码段覆盖位置模型类中的as_json
方法。
class Location
def as_json(options={})
method_arr = [:coordinates]
super(except: ['created_at', 'updated_at'],methods: method_arr)
end
def coordinates
{'latitude_key_name'=> latitude, 'longitude_key_name'=> longitude}
end
end