我想将一些值从表映射到数组。工作正常,除了数据库中有一些nil
值,这会创建无效的JSON。到目前为止,我有这个:
@markers = ExtendedProfile.all.map{|u|[u.city, u.latitude, u.longitude]}
现在我要做的是检查字段是否已填写,如果没有,则输入默认值。例如if u.latitude == nil
我希望在数组中输入0.0
,而不是nil
。有关如何实现这一目标的任何想法吗?
答案 0 :(得分:2)
为了更好地理解,您可以扩展为map
块语法,如下所示:
@markers = ExtendedProfile.all.map do |u|
if u.latitude.nil?
[0, 0]
else
[u.city, u.latitude, u.longitude]
end
end
答案 1 :(得分:1)
使用u.latitude || 0.0
:
@markers = ExtendedProfile.all.map{|u|[u.city, u.latitude || 0.0, u.longitude || 0.0]}