Place モデルに座標を保存するためにMongoid Spacialを使用しています。クライアント側でジオコーディングを行い、緯度と経度の 2 つのテキスト フィールドを送信しています。フィールドの名前は正しく、Rails コンソールでも座標が黙って保持されないため、これはサーバー側の問題のようです。
モデル
class Place
include Mongoid::Document
include Mongoid::Paranoia
include Mongoid::Timestamps
include Mongoid::Spacial::Document
attr_accessible :coordinates, :latitude, :longitude
field :coordinates, type: Array, spacial: true
spacial_index :coordinates
def latitude
coordinates[:lat]
end
def latitude=(latitude)
self.coordinates[:lat] = latitude
end
def longitude
coordinates[:lng]
end
def longitude=(longitude)
self.coordinates[:lng] = longitude
end
end
座標フィールドが配列であり、オブジェクトとして返されることを理解しています。
次のコマンドを使用して、座標を正常に設定できます。
self.coordinates = [-98.765432,12.345678]
ただし、次のコマンドではできません。
self.coordinates[:lng] = -98.765432
self.coordinates[0] = -98.765432
これを機能させるためにセッターを作成するにはどうすればよいですか?