2015-11-05 49 views
0

用戶有能力回答一組問題。現在有些是文字,而另一些是單選按鈕。問題與同一形式的多個單選按鈕標記

我遇到的問題是,爲每個問題填充單選按鈕,目前似乎屬於同一組。例如,如果我有兩個問題需要用單選按鈕來回答,那麼您只能選擇其中一個,因爲按鈕已連接。

我不完全知道如何解決這個問題,這是我的觀點:

<% if question.text_based? %> 
    <%= text_area_tag 'questions[][reply]', nil, class: 'form-control', "required" => true, rows: 2 %> 
    <% else %> 

    <% (question.min_number_range..question.max_number_range).each do |question_value| %> 
     <%= label_tag 'questions[][reply]', class: 'question-value-label' do %> 
     <%= question_value %> 
     <%= radio_button_tag 'questions[][reply]', "#{question_value}" %> 
     <% end %> 
    <% end %> 

    <% end %> 

HTML輸出:

<input type="hidden" name="questions[][id]" id="questions__id" value="5" /> 
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[][reply]" id="questions__reply_1" value="1" /> 
</label>   
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[][reply]" id="questions__reply_2" value="2" /> 
</label>   

<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[][reply]" id="questions__reply_3" value="3" /> 
    </label> 
</label> 

<input type="hidden" name="questions[][id]" id="questions__id" value="6" /> 
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[][reply]" id="questions__reply_1" value="1" /> 
</label>   
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[][reply]" id="questions__reply_2" value="2" /> 
</label> 

和我的控制器代碼:

def create 
    @questions = current_user.questions 
    params[:questions].map do |question| 
     current_user.answers.create(
     question_id: question[:id], 
     reply:  question[:reply], 
     week_number: Time.zone.now.strftime('%V') 
    ) 
    end 
    redirect_to answers_path 
    end 

回答

0

您需要號碼您questions

<input type="hidden" name="questions[0][id]" id="questions__id" value="5" /> 
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[0][reply]" id="questions__reply_1" value="1" /> 
</label>   
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[0][reply]" id="questions__reply_2" value="2" /> 
</label>   

<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[0][reply]" id="questions__reply_3" value="3" /> 
    </label> 
</label> 

<input type="hidden" name="questions[1][id]" id="questions__id" value="6" /> 
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[1][reply]" id="questions__reply_1" value="1" /> 
</label>   
<label class="question-value-label" for="questions__reply"> 
    <input type="radio" name="questions[1][reply]" id="questions__reply_2" value="2" /> 
</label> 
+0

是有道理的,但是我無法使其與我當前的代碼工作,我已經與我的控制器代碼更新 –