2017-05-04 6 views
1

編集ページでGeoJSONデータをテキストとして編集したいと思っています。私は、Rails、PostgreSQLとactiverecord-postgis-adapterを使用しています。データをエンコードするために、私はrgeo-geojsonを使用します。Rail ViewでGeoJSONデータを編集するには?

マイビューの表示が正常に動作し、私はエンコード:

<%= RGeo::GeoJSON.encode(@field.shape, json_parser: :json) %> 

しかし、どのように私の編集ビューをアップグレードするには、私はにGeoJSON形式でデータを編集して保存できます。

<%= form_for :field, url: field_path(@field), method: :patch do |f| %> 
... 
    <p> 
    <%= f.label :shape %><br> 
    <%= f.text_area :shape %> 
    </p> 
... 

<% end %> 

申し訳ありませんがあれば疑問に見せにくい

答えて

1

Fieldに追加することができます。postgis db列をGeoJSONに変換して戻す仮想属性をモデルにします。

class Field < ActiveRecord::Base 
    def shape_text 
    RGeo::GeoJSON.encode(shape).to_json 
    end 

    def shape_text=(text) 
    self.shape = RGeo::GeoJSON.decode(text, json_parser: :json) 
    end 
end 


<%= form_for :field, url: field_path(@field), method: :patch do |f| %> 
... 
    <p> 
    <%= f.label :shape_text %><br> 
    <%= f.text_area :shape_text %> 
    </p> 
... 

<% end %> 
関連する問題