ユーザーが選択したアドレスに基づいてオファーを投稿できるアプリがあります。IP アドレスによって決定されるユーザーの現在の場所に基づいてアドレスを保存するオプションを追加したいと思います。ruby Geocoder gem を使用しています。このコードはパスしますが、アドレスをデータベースに保存していません。それが私のアプローチの問題なのか、それとも開発環境が原因で機能していないのかはわかりません。距離計算など、Geocoder の他の機能が開発中に機能しないことは知っています。
current_location
Offer クラスのブール属性です。
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
ただし、アドレスは保存されていません (コンソールを使用して確認しました)。助けていただければ幸いです!どうもありがとう