私のセットアップ:
- Ruby 2.0.0
- Rails 3.2.12
- 最新の
pg
宝石 - 最新の
activerecord-postgis-adapter
宝石 - 最新の
rgeo-geojson
宝石 - Postgres 9.1.6
- PostGIS 2
数日前に似たようなことを聞いたことがあります。(ブール値をPostgres(==文字列)からRubyブール値に変換する必要があります)。そこで、値をカスタム選択からブール値に変換する必要がありました。これを私のモデルに追加するだけで、これは非常に簡単でした。
def value_name
ActiveRecord::ConnectionAdapters::Column.value_to_boolean(self[:value_name])
end
しかし今、私はタイプの値を受け取りますPoint
(これはPostGISからのタイプです)。データベースでの文字列表現はのよう"0101000000EE7C3F355EF24F4019390B7BDA011940"
に見えますが、(私が思うに)RGeo::Feature::Point
または多分RGeo::Geos::CAPIPointImpl
?!になる必要があります。
今私はActiveRecord::ConnectionAdapters::Column
(http://rubydoc.info/docs/rails/ActiveRecord/ConnectionAdapters/Column)を見ましたが、見つけることができるのはvalue_to_boolean
とだけvalue_to_decimal
です。
ActiveRecord::ConnectionAdapters::PostgreSQLColumn
次に、 (http://rubydoc.info/docs/rails/ActiveRecord/ConnectionAdapters/PostgreSQLColumn )もあることを認識しましたが、有用なメソッドがないようです。
ありがとうございました!