0

ユーザーが選択したアドレスに基づいてオファーを投稿できるアプリがあります。IP アドレスによって決定されるユーザーの現在の場所に基づいてアドレスを保存するオプションを追加したいと思います。ruby Geocoder gem を使用しています。このコードはパスしますが、アドレスをデータベースに保存していません。それが私のアプローチの問題なのか、それとも開発環境が原因で機能していないのかはわかりません。距離計算など、Geocoder の他の機能が開発中に機能しないことは知っています。

current_locationOffer クラスのブール属性です。

offers/_form ビューで:

<div class="field"><br>
      <%= f.label :use_current_location? %>
      <%= f.check_box :current_location %>
</div>

オファーヘルパーで:

def geocode_by_ip_address(offer)
    if :current_location
      offer.address = request.location.address
    end
end

オファー モデル:

def geo_offer
  geocode_by_ip_address(offer)
end

my map の目的で、gmaps4rails は次の属性を使用します。

def gmaps4rails_address
    "#{self.address}, #{self.city}, #{self.country}"
end

ただし、アドレスは保存されていません (コンソールを使用して確認しました)。助けていただければ幸いです!どうもありがとう

4

1 に答える 1