2016-06-21 59 views
0

我創建了三個模型,「調查」,「問題」和「答案」。調查has_many有has_many答案的問題(他們都屬於他們上面的模型)。測驗表格提交格式

我在SurveyController編輯操作中使用此表單創建測驗。在SurveyController的show操作中,我想要參加我創建的測驗併爲用戶生成測驗本身。它提交給QuizResponses控制器的創建操作。

<%= form_for(:quiz_responses, url: quiz_responses_path) do |f| %> 

<%= hidden_field_tag :name, @survey.name %> 

<% @questions.each do |question| %> 
<ul> 
<%= hidden_field_tag :question, question.content %> 
<%= f.label question.content %> 

<% question.answers.each do |answer| %> 
<%= f.label answer.content %> 
<%= f.radio_button(:user_answer, answer.content) %> 

<% end %> 

</ul> 

<% end #@questions.each do %> 
<%= f.submit %> 
<% end #form_for%> 

但它顯示在一個非常醜陋的格式。如何更改形式,使它看起來更好(IE答覆文件與複選框 enter image description here

回答

1

的問題是過於寬泛,但這裏有一個簡單的解決方案:

<%= form_for(:quiz_responses, url: quiz_responses_path) do |f| %> 

    <%= hidden_field_tag :name, @survey.name %> 

    <% @questions.each do |question| %> 

    <%= hidden_field_tag :question, question.content %> 

    <!-- question title --> 
    <h3><%= f.label question.content %></h3> 

    <!-- questions answers --> 
    <ul> 
     <% question.answers.each do |answer| %> 

     <!-- use display:inline-block or float to make inline li --> 
     <li> 
      <%= f.label answer.content %> 
      <%= f.radio_button(:user_answer, answer.content) %> 
     </li> 
     <% end %> 
    </ul> 

    <% end %> 

    <!-- submit --> 
    <p> 
    <%= f.submit %> 
    </p> 

<% end %> 
+0

我得到一個錯誤,語法錯誤,意外的關鍵字結束,期待輸入結束'.freeze;結束#form_for ^。知道爲什麼?編輯:woops,從來沒有! –

+0

刪除這些紅寶石的評論。查看更新 – Vucko

+0

其實你剛剛用css改了它吧?是因爲我在表單本身做了錯誤,但是我的原始表單很好? –