【发布时间】:2018-06-27 11:29:33
【问题描述】:
我的控制器中有此代码,以获取从一个位置到另一个位置的距离(以米为单位):
range = Geocoder::Calculations.distance_between([lat,lng],[Model.location.lat,Model.location.lng])
rangeInMeters = range * 1000
rangeRounded = rangeInMeters.round
rangeRounded = rangeRounded / 100 * 100
我的序列化程序中有这段代码,以便为 json 响应提供更好的输出,如下所示:
class ModelSerializer < ActiveModel::Serializer
attributes :id, :name, :address, :range
def range
// something
end
end
如何让 ModelSerializer 读取 rangeRounded,因此在 json 响应中它会是这样的:
{
"id": 1,
"name": "Name A",
"address": "Address A",
"range": 500
},
【问题讨论】:
-
这个答案应该会有所帮助:stackoverflow.com/a/37956952/2545197
-
这个我试过了,不行,不知道怎么回事
-
你能举个例子吗?
-
当然,
attributes :id, :name, :address, :range # has_many :locations def range puts @instance_options[:rangeRounded] end
标签: ruby-on-rails json ruby active-model-serializers