#railsでcheckboxで選択されたオブジェクトだけ送信したい
そこで以下のようにソースを書きました。
ruby
1#コントローラー 2 3 def start 4 @words=current_user.words 5 end 6 7 def ready 8 if params['words_info'] !='0'#check_boxの選択が0の時に弾くつもり 9 @words = params['words_info'].first 10 if params['option'] == "通常" 11 @question = 'question' 12 @answer = 'answer' 13 else 14 @question = 'answer' 15 @answer = 'question' 16 end 17 render 'question' 18 else 19 flash[:danger] = "失敗" 20 redirect_to tests_start_path 21 end 22 end
ruby
1# views/tests/start 2 3<h1>Tests#start</h1> 4 5 <%= form_tag(action: :ready) do %> 6 <% @words.each do |words|%> 7 <%=words.question%> 8 <%=words.answer%> 9 <div class="div_class"> 10 <label >追加<%= check_box :words_info, words%></label> 11 </div> 12 <%= select_tag 'option', options_for_select(["通常", "反転"]) %> 13 </br> 14 <% end %> 15 <div class="send"> 16 <%= submit_tag "テストスタート" , class:"btn btn-large btn-primary"%> 17 </div> 18 <% end%> 19
エラー部分のソース
ruby
1#views/tests/question 2 3<div class="row"> 4 <div class="col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2"> 5 <div class="panel panel-default"> 6 <div class="panel-heading"> 7 <h1>Q&A</h1> 8 </div> 9 <div class="panel-body"> 10 <%= form_tag(action: :create) do %> 11 12 <%= hidden_field_tag "count", @words.count %> 13 <% @words.each.with_index(1)do |word, n| %> 14 15 <label for=<%= "#{n}"%>><%= "#{n}問目"%>:<%= eval("word.#{@question}")%> (正答: <%= eval("word.#{@answer}") %>)</label><br> 16 <%= text_field_tag "#{n}", '', class: 'form-control' %> 17 18 <%= hidden_field_tag "answer#{n}", eval("word.#{@answer}") %> 19 <% end %> 20 <%= submit_tag "Answer", class: "btn btn-large btn-primary" %> 21 <% end %> 22 </div> 23 </div> 24 </div> 25</div> 26 27
回答よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/20 04:56