質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

Railsでgeocoderをつかって複数カラムにある情報をつなげた住所から緯度経度を登録したい

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 358

score 29

実現したいこと

Railsでgeocoderをつかって複数カラムにある情報をつなげた住所から緯度経度をDBに登録したい

問題点

カラムに経度と緯度がDBに登録されない。

現状

farmersテーブルには
prefectureカラム、addressカラム、latitudeカラム、longitudeカラムなどが存在しており、
new.html.erbにて農家登録(住所含む)をすると、farmersテーブルに記入した情報が登録されます。

https://qiita.com/nori2711/items/3aea686aa5beef5dd9a0を参考にしました。

gemは反映させてあります。

コード

new.html.erb
<% provide(:title, "農家登録") %>
    <section class="resister">
        <div class="resister_container">
            <div class="resister_area side2">
                <div class="resister_title"><h3>農家登録</h3></div>
                <div class="enter_container">
                    <%= form_for @farmer_resister, html: {class: "new_farmer"} do |f| %>
                        <%= render "error_messages" %>
                        <%= f.label :name, "農家名", class:"form_field" %>
                        <%= f.text_field :name, class:"form_area" %>

                        <%= f.label :email, "Email", class:"form_field" %>
                        <%= f.text_field :email, class:"form_area" %>

                        <%= f.label :tel, "電話番号", class:"form_field" %>
                        <%= f.text_field :tel, class:"form_area" %>

                        <%= f.label :postal_code, "郵便番号", class:"form_field" %>
                        <%= f.text_field :postal_code, class:"form_area", required:"required" %>

                        <%= f.label :prefecture, "都道府県", class:"form_field" %>
                        <%= f.text_field :prefecture, class: 'form_area', required:"required" %>

                        <%= f.label :address, "住所", class:"form_field" %>
                        <%= f.text_field :address, class: 'form_area', required:"required" %>

                        <%= f.label :comment, "農家紹介", class:"form_field" %>
                        <%= f.text_area :comment, class:"form_area", size:"50x10" %>

                        <%= f.fields_for :farmer_images do |i| %>
                            <%= i.label :farmer_logo, "農家ロゴ画像(必須)"%>
                            <%= i.file_field :farmer_logo %>

                            <%= i.label :farmer_image, "農家紹介画像(必須)"%>
                            <%= i.file_field :farmer_image %>
                        <% end %>

                        <%= f.label :password, "パスワード", class: "label_field" %>
                        <%= f.password_field :password, class: "form_area" %>

                        <%= f.label :password_confirmation, "パスワード確認", class: "label_field" %>
                        <%= f.password_field :password_confirmation, class: "form_area" %>

                        <%= f.submit "登録", class:"resister_btn"%>
                    <% end %>
                </div>
            </div>
        </div>
    </section>
farmer.rb(該当部分のみ)
farmer_addressでDBに登録されたprefectureカラムとaddressカラムをつなげてから、geocodingさせる。

class Farmer < ApplicationRecord

    def farmer_address
        "%s %s"%([self.prefecture,self.address])
    end
    geocoded_by :farmer_address
    after_validation :geocode
end
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る