クイズサイトを製作中でこのように
4個ずつ表示しているのですが
コードは下記
ruby
1<%= form_tag(action: :create) do %> 2 <%= hidden_field_tag "count", @words.count %> 3 <%=render "tests/test_answer"%> 4 <table> 5 <%@value.in_groups_of(4,false).each.with_index(1) do|vals,num|%> 6 <tr> 7 <% vals.each do|val| %> 8 <td><label><%= "#{num}"%><%=val.answer%><%=radio_button_tag "#{num}",val.answer%></label><br><br></td> 9 <%end%> 10 </tr> 11 <%end%> 12 </table> 13 <%= submit_tag "Answer", class: "btn btn-large btn-primary" %> 14 <% end %>
更に
下記のようなコードを書きたいのですが4個ずつ表示できなくなるためできません
ruby
1 2<% @words.each.with_index(1)do |word, n| %> 3 <%if params['test_option'] == "練習"%> 4 <label for=<%= "#{n}"%>><%= "#{n}問目"%>:<%= eval("word.#{@question}")%> (正答: <%= eval("word.#{@answer}") %>)</label><br> 5 <%else%> 6 <label for=<%= "#{n}"%>><%= "#{n}問目"%>:<%= eval("word.#{@question}")%></label><br> 7 <%end%> 8 9 <%= hidden_field_tag "answer#{n}", eval("word.#{@answer}") %> 10 <% end %>
コントローラでは
意味としては@wordsに正解が入っている
@valueに不正解の回答と、正解の回答が入っている
@valueに正解があり
def test_group if params['groups_info'].present? ids=params['groups_info'].split(",") @words = Word.where(group_id:ids) if params['option'] == "通常" @question = 'question' @answer = 'answer' else @question = 'answer' @answer = 'question' end if params["test_mode"]=="選択" @value=[] @words.each do|word| @value<<[Word.all.sample(3),word] @value.flatten! puts @value end render 'selection_question' else render 'question' end end end
回答よろしくお願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。