前提・実現したいこと
Ruby on rails form_forを用いたフォームで、複数の値をカンマでつないだ形で渡したいと考えています。
具体的には、以下のコード例で「1」と「2」がチェックされたとすると、
Parameters: {"hoge"=>{"checked"=>["1", "2"], "all"=>["1", "2", "3", "4", "5"]}}
のように渡すことが最終目的です。
該当のソースコード
1番目:このコードだと、checkedでは最後にチェックされたもののみ、allでは最後の項目のみが送られてしまいます。
HTML
1<% @samples = [1,2,3,4,5] %> 2<%= form_for 'hoge' do |f| %> 3 <% @samples.each do |s| %> 4 <%= f.check_box 'checked', {}, s, false %> 5 <%= f.hidden_field 'all', value: s %> 6 <% end %> 7<% end %>
2番目:このコードだと、想定通り数字をカンマでつないで送れますが、「"hoge"=>」の中ではなく、「Parameters」の直下で送られてしまいます。
HTML
1<% @samples = [1,2,3,4,5] %> 2<%= form_tag 'assessment' do |f| %> 3 <% @stores.each do |s| %> 4 <%= check_box_tag 'aList[]', s, false %> 5 <%= hidden_field_tag 'showAss[]', s %> 6 <% end %> 7<% end %> 8
試したこと
1番目のようにform_forを用いて、プロパティ名を「'checked[]'」や「'all[]'」のようにしてみましたが、
この場合は"checked" => []のように送られてしまいます。
補足情報(FW/ツールのバージョンなど)
Railsのバージョンは5.2.0です。
質問に不備がございましたら直ちに追記します。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/31 02:54
2018/08/12 14:21