初めて質問させて頂きます。
よろしくお願いいたします。
###発生している問題・エラーメッセージ
ユーザーの登録ページを作成しております。 そこで都道府県を選択した後、ajaxでそれに紐づく 市町村をmodelから検索し、再度モーダルの市町村の部分に表示を考えています。 今の状態のusers/_ajax_change_prefecture.html.erbnの collection_selectで、データーは取得できますが モーダルの変更ボタンを押下した場合に、市町村の部分が formのパラメーターとして飛んでいきません。 form.collection_selectとすればいいかと思いましたが 今度は、市町村データーが取得できません。 Rails初心者で中々解決が出来ず相談させていただきました。 ご回答、よろしくお願いいたします。
###該当のソースコード
●controllers/users/users_controller.rb● class UsersController < ApplicationController #ajaxで市町村データを検索 def ajax_change_prefecture @prefecture_code = params[:prefecture_code] @cities = City.select(:city_code, :city_name).where(prefecture_code: params[:prefecture_code]) render end end ●users/show.html.erb● <div id="profile-modal" class="profile-modal-wrapper"> <%= form_for(@profile, url:{controller:'users', action:'edit_profile'}, remote:true) do |form| %> <div class="modal"> <div class="close-modal"> <i class="fa fa-2x fa-times"></i> </div> <div id="profile-form"> <div class="modal-profile">性別<%= form.text_field :sex %></div><br> <div class="modal-profile">誕生日<%= form.text_field :birthday %></div><br> <div id="modal-profile-prefecture" class="modal-profile">都道府県<%= form.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name %></div><br> <div id="modal-profile-city" class="modal-profile">市町村<%= form.collection_select :city_code, City.where(prefecture_code: @profile.prefecture_code), :city_code, :city_name, :include_blank => true %></div><br> <div class="modal-profile">コメント<%= form.text_area :comment %></div><br> <%= hidden_field_tag :ajax_hundler, 'handle_name1' %> <button type="button" class="btn btn-danger btn-lg btn-close ">閉じる</button> <%= form.submit "変更", :class => "btn btn-info btn-lg" %> </div> </div> <% end %> </div> ●users/ajax_change_prefecture.js.erb● $('#modal-profile-city').html('<%= escape_javascript(render("users/ajax_change_prefecture", cities: @cities, form_address: @form_address)) %>'); ●users/_ajax_change_prefecture.html.erb● <%= collection_select :users, :city_code, @cities, :city_code, :city_name %> ●assets/javascripts/script.js● $(document).on('turbolinks:load', function() { $('#modal-profile-prefecture').change(function() { var prefecture_code = $(":selected").attr("value"); $.ajax({ type: "GET", url: "http://localhost:3000/users/ajax_change_prefecture/" + prefecture_code, }); });
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。