SocioQuiz/socio_quiz

View on GitHub
app/views/quizzes/play.html.erb

Summary

Maintainability
Test Coverage
    <div class="container">
        <div class="jumbotron">
            <div class="row">
                <div class="col-md-3">
                    <div class="side-option">
                        <div class="content">
                            <div class="category">
                                <div class="form-group">
                                    <label class="control-label">Category</label>
                                    <div class="">
                                          <%
                                          # Create category choices.
                                          categoriesMapped = @category.map{|t| [t.name, t.id, t.description, t.value]}
                                          categoriesMapped.each do |dataset|
                                             isMatched = (dataset[1].to_i == @quiz.category_id.to_i)
                                             if isMatched
                                          %>
                                          <div class="radio radio-primary">
                                              <label>
                                                  <input id="<%= dataset[0] %>" name="quiz[category_id]" type="radio" value="<%= dataset[1] %>" checked="<%= ((isMatched == true) ? 'true' : 'false') %>" />
                                                  <%= dataset[3] %>
                                              </label>
                                          </div>
                                          <%
                                             end 
                                          end
                                          %>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-md-9" style="border-left: 2px solid red;">
                    <p id="notice"><%= notice %></p>
                    <%
                        answerChoiceNum = 0
                        answerChoices = [@quiz.selection_1, @quiz.selection_2, @quiz.selection_3, @quiz.selection_4, @quiz.selection_5, @quiz.selection_6, @quiz.selection_7, @quiz.selection_8, @quiz.selection_9]
                        disNilIdxMax = 0
                        # get the available selectional answer choices.
                        answerChoices.each do |answerChoice|
                            answerChoiceNum = answerChoiceNum.to_i + 1
                            if answerChoice != nil && answerChoice != "" && answerChoiceNum.to_i >= disNilIdxMax.to_i
                                disNilIdxMax = answerChoiceNum.to_i
                            end
                        end
                    %>
                    <ul class="nav nav-tabs" style="margin-bottom: 15px;">
                        <li class="active"><a href="#textbox" data-toggle="tab">Fill in the blank</a></li>
                    <% if disNilIdxMax.to_i > 0 %>
                        <li><a href="#multiple-choice" data-toggle="tab">Multiple choice</a></li>
                    <% end %>
                    </ul>

                    <div id="myTabContent" class="tab-content">
                        <div class="tab-pane fade active in" id="textbox">
                            <%= form_for @play, url: { action: 'respond' } do |f| %>
                                <fieldset>
                                    <div class="question">
                                        <legend>Question</legend>
                                        <%= @quiz.question %>
                                    </div>
                                    <div class="divider"></div>
                                    
                                    <div class="answer">
                                        <div class="ans row" style="padding: 15px;">
                                            <div class="checkbox col-md-2 none-margin-top">
                                                <label>
                                                    Answer:
                                                </label>
                                            </div>
                                            <div class="col-md-10">
                                                <%= f.hidden_field :quiz_id %>
                                                <%= f.text_field :reply, :class => "form-control", :rows => "3", :id => "textArea" %>
                                            </div>
                                        </div>
                                    </div>
                                    <%= f.submit :class => "btn btn-primary", :style => "float: right" , :value => "Submit"%> 
                                </fieldset>
                            <% end %>
                        </div>

                        <% if disNilIdxMax.to_i > 0 %>
                        <div class="tab-pane fade " id="multiple-choice">
                            <%= form_for @play, url: { action: 'respond' } do |f| %>
                                <div class="question">
                                    <legend>Question</legend>
                                    <div>
                                        <%= @quiz.question %>
                                    </div>
                                </div>
                                <div class="divider"></div>

                                <div class="answer" style="padding: 15px;">
                                    <legend>Answer</legend>
                                    <div class="answer_true_false" style="display: none">
                                        <div class="radio radio-primary">
                                            <label>
                                                <input name="answer" id="true" value="option1"  checked="" type="radio">True
                                            </label>
                                        </div>
                                        <div class="radio radio-primary">
                                            <label>
                                                <input name="answer" id="false" value="option2" type="radio">False
                                            </label>
                                        </div>
                                    </div>
                                    <div class="answer_checkboxes">
                                    <% 
                                        # Create the answer choices selections
                                        printf("disNilIdxMax: %s\r\n", disNilIdxMax)
                                        i = 0
                                        while i < disNilIdxMax.to_i
                                            printf("play.selection_%d: %s\r\n", i, answerChoices[i])
                                        %>
                                        <div class="row">
                                            <div class="radio radio-primary">
                                                <label>
<% printf("play.reply\r\n") %>
                                                    <input name="play[reply]" id="false" value="<%= answerChoices[i] %>" type="radio">Answer <%= (i + 1) %>:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><u><%= answerChoices[i] %></u></strong>
                                                </label>
                                                <%= f.hidden_field :quiz_id %>
                                            </div>

                                            <!--<div class="checkbox col-md-3 none-margin-top">
                                                <label>
                                                    <input type="checkbox">Answer <%= (i + 1) %>:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><u><%= answerChoices[i] %></u></strong>
                                                </label>
                                            </div>
                                            <div class="form-group col-md-9">
                                                <input class="form-control input-lg" id="inputLarge" name="play[reply]" type="hidden" />
                                            </div>-->
                                        </div>
                                        <%
                                            i = i + 1
                                        end 
                                        
                                    %>
                                        <%= f.hidden_field :quiz_id %>
                                </div>
                            </div>
                            <div class="divider"></div>
                            <%= f.submit :class => "btn btn-primary", :style => "float: right" , :value => "Submit"%>
                        <% end %> 
                        </div>
                        <% end %>
                    </div>
                </div>
            </div>
        </div>
    </div>