前提・実現したいこと
jpostal.jp を使用して住所が自動入力されるように設定したいです。
こちらの記事を参考に、コードを書かせていただきました。
https://hajimeteblog.com/jpostal/
フォームは表示されているのですが、郵便番号を打っても住所が自動入力されず何も起こりません。
検証ツールでエラーメッセージはなく、どこを修正すべきか悩んでおります。
予想される原因などがあれば、ご教示願います。
試したこと
registrations/new.html.erbに追加した記述 <%= form_with model: @user, url: user_registration_path, id: 'new_user', class: 'new_user', local: true do |f| %> <div class="field"> <!--郵便番号--> <%= f.label :postal_code %><br /> <%= f.text_field :postal_code, autofocus: true, class: "postal_code", id: "address_zipcode" %> </div> <div class="field"><!--都道府県--> <%= f.label :prefecture_code %><br> <%= f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name, class: "address", id: "user_prefecture_name"%> </div> <div class="field"><!--市区町村--> <%= f.label :city %><br> <%= f.text_field :city, autofocus: true, class: "address", id:"address_city" %> </div> <div class="field"><!--番地--> <%= f.label :street %><br> <%= f.text_field :street, autofocus: true, class: "address", id: "address_street" %> </div>
javascripts.users.coffeeの記述 $ -> $("#address_zipcode").jpostal({ postcode : [ "#address_zipcode" ], address : { "#user_prefecture_name" : "%3", "#address_city" : "%4%5", "#address_street" : "%6%7" } })
javascripts/apprication.js //= require turbolinks //= require jquery //= require rails-ujs //= require activestorage //= require bootstrap-sprockets //= require jquery.jpostal こちらを追加しました //= require_tree .
javascripts/jquery.jpostal.js ダウンロードしたファイルを入れました。
補足情報(FW/ツールのバージョンなど)
schema.rbにカラムを追加しました。
t.integer "prefecture_code" t.integer "postal_code" t.string "city" t.string "street"
user.rb
JpPrefecture導入のために追加しました。
include JpPrefecture jp_prefecture :prefecture_code def prefecture_name JpPrefecture::Prefecture.find(code: prefecture_code).try(:name) end def prefecture_name=(prefecture_name) self.prefecture_code = JpPrefecture::Prefecture.find(name: prefecture_name).code end
gemを追加しました。
gem 'jp_prefecture'
回答1件
あなたの回答
tips
プレビュー