2013-10-12 38 views
0

我完全陌生於RoR,我想建立一個簡單的網站,其中包含一系列問題以及與每個問題相關的一系列答案。用戶選擇與每個問題相關的一個答案,並且存在多個問題。然後,完成後,用戶將點擊提交按鈕,我將他們的數據存儲到我的數據庫中。Ruby on Rails - 用關係創建數據庫?

我在解決問題時遇到的困難是應該如何存儲我將要定義的問題和答案?基於對數據庫的一些經驗,我認爲我應該構建兩個數據庫,一個用於問題,一個用於與每個問題相關的答案。我該怎麼做,我該怎麼做?

編輯:我的意思是兩張桌子,對不起。

回答

2

一分貝就夠了。你應該有2個表(問題和答案):

class Answer < ActiveRecord::Base 
    attr_accessible :body 
    belongs_to :question 
end 

class Question < ActiveRecord::Base 
    attr_accessible :body 
    has_many :answers 
end 

這是假設每個問題有很多可能的答案

該機型+遷移可以產生:

rails g model Question body:string 
rails g model Answer body:string question:references 
0

而且伊戈爾的答案,你需要設置2個模型&表(問題&答案)與這些列:

#rails generate migration AddQuestionsAndAnswersDatabases 
class AddQuestionsAndAnswersDatabases < ActiveRecord::Migration 
    def change 
    create_table :questions do |t| #-> creates questions table 
     t.string :body 
     t.timestamps 
    end 

    create_table :answers do |t| #-> creates answers table 
     t.integer :question_id 
     t.string :body 
     t.timestamps 
    end 
    end 
end 

這將爲您創建數據庫,然後您可以運行「rake db:migrate」命令來遷移它們。

+0

嗨,謝謝你提出伊戈爾的答案。雖然我的答案有點困惑,因爲我認爲伊戈爾的答案已經爲我創造了模型和表格,不是嗎? – dtgee

+0

抱歉,我沒有正確解釋自己!伊戈爾展示了你的mod應該具有的_relations_,並且我只是展示了相應的表格將如何顯示(I.E答案表必須有一個question_id列:)希望有所幫助? –

+0

我們可以將此討論移至聊天嗎? (我不知道如何開始)編輯:nvm在這裏:http://chat.stackoverflow.com/rooms/39153/ror-creating-model-relations – dtgee