前提・実現したいこと
ここに質問の内容を詳しく書いてください。
現在、railsで下記のものを作っています。
ボタンでフォームの数が動的に変化する(jQeryのcloneでformを複製)
1. フォームに記入されている値を配列に格納
2. form_tagを用いてput
3. コントローラのparamsで配列を取得
現在3番の部分ができていない状況です。
発生している問題・エラーメッセージ
現在、cloneで作成したフォームの値のみ配列に格納されず、コントローラのparamsで取得できていない状況です。
該当のソースコード
HTML
1<!-- jQueryで複製する部分 --> 2<script> 3 // +ボタン(class="add")がクリックされたら 4 $(document).on("click", ".add", function () { 5 6 // 選択された親要素をコピーし、親要素の後に追加する 7 // ※親要素は<div id="item">になる 8 $(this).parent().clone(true).insertAfter($(this).parent()); 9 }); 10 11 // -ボタン(class="del")がクリックされたら 12 $(document).on("click", ".del", function () { 13 14 // 2ヵ所で使うので選択された親要素を変数targetに格納 15 // ※親要素は<div id="item">になる 16 var target = $(this).parent(); 17 18 // targetの親要素の配下の要素数が1以下だったら 19 // ※targetの親要素は<div id="list">になる 20 if(target.parent().children().length > 1){ 21 22 // <div id="item">を削除する 23 target.remove(); 24 25 } 26}); 27</script> 28 29<%= form_tag('/rating_graph/index', :method => :put ) do %> 30 <!-- 複製されるform --> 31 <div id="item" style="text-align: center;"> 32 <%= text_field_tag "scores[]"%> 33 <input type="button" value="+" class="add" style="width: 80px" /> 34 <input type="button" value="-" class="del" style="width: 80px" /> 35 </div> 36<% end %>
Ruby
1<!-- コントローラ --> 2require 'net/http' 3require 'uri' 4require 'json' 5class RatingGraphController < ApplicationController 6 def index 7 p params[:scores] 8 end 9end
試したこと
クローンでないフォームはparamsで取得できることは確認できました。
補足情報(FW/ツールのバージョンなど)
HTML記述部分は拡張子html.erbです。
Rails 5.2.2
ruby 2.5.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。