2014-12-05 60 views
0

我試圖將用戶的測驗答案保存到數據庫中。這大概會在他們點擊「獲得我的結果」按鈕時發生,但在此之前 - 我該如何將問題鏈接到數據庫中適當的值? 這裏是我的榜樣問答形式分(其中獲取我的頁面視圖渲染):Rails:如何將html多項選擇題鏈接到數據庫值

<%= form_for([current_user]) do |f| %> 
    <h3>1. I have the final say in decisions made within the group I'm leading.</h3> 
    <div class="btn-group-vertical clearfix form-group" data-toggle="buttons"> 
      <label class="btn btn-primary text-left"> 
      <input name="options" id="option1" type="radio" onclick="multiChoiceClick(1, 1)">A. Always. I'm the leader and should have the final say 
      </label> 
      <label class="btn btn-primary text-left"> 
      <input name="options" id="option2" type="radio">B. Sometimes, but I think the group should make decisions if possible 
      </label> 
      <label class="btn btn-primary text-left"> 
      <input name="options" id="option3" type="radio">C. I generally don't get involved. The group can make their own decisions without my help 
      </label> 
    </div> 
    <p> 
    <%= f.submit("Get my results!") %> 
    </p> 
<% end %> 

只是作爲一個例子,我怎麼得到這個問題的連接到數據庫?

我使用Devise gem讓用戶登錄和註銷(這一切工作正常)。我的用戶模型has_many:quiz_answers和QuizAnswer模型belongs_to:用戶。

任何人都可以告訴我即將進行的下一步嗎?

+0

你是什麼意思將一個問題鏈接到數據庫中適當的值? – 2014-12-05 11:40:22

+0

我的意思是設置好這個問題,當用戶最終點擊'get my results'時,數據庫會根據用戶的回答進行更新。表單構建器(或其他地方)需要包含哪些內容才能建立該關聯? – moosefetcher 2014-12-05 12:34:50

回答

0

我認爲下一步就是在表單構建器中使用fields_for :quiz_answers。在您的User模型中,您將不得不添加accepts_nested_attributes_for :quiz_answers。而在你的控制器中,你需要允許相關的參數。另請參閱Nested Forms的指南。

+0

感謝您的回覆。我可以問你,你在哪裏找到了有關accepted_nested_attributes方法的內容? (這是一種方法?)。我如何直接找到這些信息? – moosefetcher 2014-12-05 12:36:53

+0

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html http://apidock.com/rails/ActiveRecord/NestedAttributes/ClassMethods/accepts_nested_attributes_for – 2014-12-05 12:40:05

+0

@moosefetcher我認爲我第一次發現它在這Railscast:http://railscasts.com/episodes/196-nested-model-form-part-1 – 2014-12-05 12:58:56

相關問題