Serializer Rails的条件语句4

时间:2014-04-12 21:43:11

标签: ruby-on-rails ruby

这是一个非常简单的问题,但我的语法有问题。 Rails 4,Ruby 2。

让以下代码用于序列化某些记录并将其转储到geo json:

 module Serializers
  class GeoUser < ActiveModel::Serializer
    attributes :type, :geometry, :properties

    def type
      'Feature'
    end

    def geometry
        {
            type: 'Point',
            coordinates: [object.longitude, object.latitude]
        }
    end

    def properties
      {
        name: object.full_name,
        address: object.full_address,
        :'marker-color'  => object.marker_color,
        :'marker-symbol' => object.marker_symbol,
        :'marker-size'   => object.marker_size
      }
    end
  end
end

我的问题有时候是object.longitude,object.latitude是null / nil我想把它们设置为0.简单的条件语句,比如|| 0,但我似乎无法使语法正确。

建议,请:)

谢谢!

1 个答案:

答案 0 :(得分:1)

object.longitude || 0将起作用object.longitude.to_fnil.to_f返回0.0)。